【Java123】JavaWeb Servlet开发
http://www.runoob.com/servlet/servlet-intro.html
https://www.cnblogs.com/xdp-gacl/tag/JavaWeb学习总结/default.html?
https://www.ibm.com/developerworks/cn/java/j-lo-servlet/
https://www.cnblogs.com/xdp-gacl/p/3908610.html
Servlet+JSP+JavaBean开发模式介绍
Servlet+JSP+JavaBean架构其实可以认为就是我们所说的Web MVC模型,只是控制器采用Servlet、模型采用JavaBean、视图采用JSP,如图2-3
3.2、JavaBean作为模型的缺点
此处模型使用JavaBean,JavaBean组件类既负责收集封装数据,又要进行业务逻辑处理,这样可能造成JavaBean组件类很庞大,所以一般现在项目都是采用三层架构,而不直接采用JavaBean。
https://www.cnblogs.com/xdp-gacl/p/3902537.html
项目所需要的包 | |||
序号 | 包名 | 描述 | 所属层次 |
1 | me.gacl.domain | 存放系统的JavaBean类(只包含简单的属性以及属性对应的get和set方法,不包含具体的业务处理方法),提供给【数据访问层】、【业务处理层】、【Web层】来使用 | domain(域模型)层 |
2 | me.gacl.dao | 存放访问数据库的操作接口类 | 数据访问层 |
3 | me.gacl.dao.impl | 存放访问数据库的操作接口的实现类 | |
4 | me.gacl.service | 存放处理系统业务接口类 | 业务处理层 |
5 | me.gacl.service.impl | 存放处理系统业务接口的实现类 | |
6 | me.gacl.web.controller | 存放作为系统控制器的Servlet | Web层(表现层) |
7 | me.gacl.web.UI | 存放为用户提供用户界面的servlet(UI指的是user interface) | |
8 | me.gacl.web.filter | 存放系统的用到的过滤器(Filter) | |
9 | me.gacl.web.listener | 存放系统的用到的监听器(Listener) | |
10 | me.gacl.util | 存放系统的通用工具类,提供给【数据访问层】、【业务处理层】、【Web层】来使用 | |
11 | junit.test | 存放系统的测试类 |
一个良好的JavaWeb项目架构应该具有以上的11个包,这样显得层次分明,各个层之间的职责也很清晰明了,搭建JavaWeb项目架构时,就按照上面的1~11的序号顺序创建包:domain→dao→dao.impl→service→service.impl→web.controller→web.UI→web.filter→web.listener→util→junit.test,包的层次创建好了,项目的架构也就定下来了。
在src目录(类目录)下面,创建用于保存用户数据的xml文件(DB.xml)
在WEB-INF目录下创建一个pages目录,pages目录存放系统的一些受保护(不允许用户直接通过URL地址访问)的jsp页面,用户要想访问这些受保护的jsp页面,那么只能通过me.gacl.web.UI这个包里面的Servlet
创建好的项目如下图(图-1)所示:
https://www.cnblogs.com/xdp-gacl/p/4002804.html
2.1、数据库连接池的基本概念
数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正式针对这个问题提出来的.数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。如下图所示:
https://www.cnblogs.com/xdp-gacl/p/4006830.html
https://www.cnblogs.com/xdp-gacl/p/4010328.html
JDK1. 5版本之后, JAVA提供了一种叫做Annotation的新数据类型,中文译为注解或标注,它的出现为铺天盖地的XML配置文件提供了一个完美的解决方案,让 JAVA EE开发更加方便快速,也更加干净了。
最新文章
- eclipse导入myeclipse的web项目没法识别问题解决
- 使用Shell创建GitHub仓库
- 配置samba服务一例
- linux 系统管理 使用技巧
- 1-1 Windows应用程序的特点
- 浅谈 Linux 内核开发之网络设备驱动
- Python 3.5.2建立与DB2的连接
- Repeater中使用倒计时
- Vagrant系列(二)----Vagrant的配置文件Vagrantfile详解
- git errot
- elk收集windows日志
- 传输层TCP
- sql注入--mysql
- 在delphi中我用DBGrid选择多条记录,如何一次把选择的多条记录删掉
- java hash表
- SpagoBI 教程 Lesson 2: OLAP with JPIVOT
- Ubuntu 16.04系统下安装Discuz出现“HTTP ERROR 500”目前无法处理此请求
- JavaScript 设计模式之代理模式
- A Basic Example of Threads Synchronization in Python, python中的线程同步示例
- jquery实现漂亮的轮播图
热门文章
- c# List<; int>;和List<; string>;互相转换
- [日常] Linux下的docker实践
- String 字符串相加比较
- RequestDispatcher.forward转发与HttpServletResponse.sendRedirect重定向
- js-ES6学习笔记-Symbol
- windows10 java环境变量设置
- OSGI企业应用开发(四)使用Blueprint整合Spring框架(一)
- 项目报错:Caused by: java.lang.ClassNotFoundException: Didn&#39;t find class ";...";on path: DexPathList
- (转)在.net中检索HTTP请求
- 找回master库中被删除的系统表