JavaWeb在做项目的时候,最重要的是应用了分层操作的思想,JavaBean + JSP + Servlet,就是Model + View + Controller,即MVC的设计模式。
拿到项目的时候,首先分析需求,分析业务,然后分几步走:
设计数据库
根据实际业务需要,设计表结构,字段,并插入数据;
创建好目录结构
后台(src):
- entity : 实体类,和数据库中一一对应(表名————类名;字段————属性)
- DAO : 数据访问层,创建接口,和接口的实现类
- Service : 业务逻辑层,创建接口,和接口的实现类,用来调用DAO层
- Servlet : 控制层,分派业务逻辑,用来调用Service层
- Util : 工具类的包,比如:分页,读取properties的工具等
- database.properties : 连接数据库的信息
前台(web-root):
- jsp页面 : 使用EL、JSTL表达式完善页面的表达
- CSS : 样式表
- JS : JS脚本
- IMG : 图片资源
- web.xml : 连接 servlet 和 jsp 页面,以及配置信息
另外:使用过滤器解决中文乱码和用户登录验证的问题
整个目录如图:
页面的访问流程是:
servlet处于核心的位置,它控制页面的和数据;当浏览器发出一个请求时,servlet来处理请求,直接返回一个JSP页面给浏览器,或是访问和处理数据之后再返回一个JSP页面。JavaBean有两种,一种是处理业务的Service,一种是处理数据的DAO,servlet自己是不做任何业务的,它处理业务是调用Service层,而Service层调用DAO层来访问数据,DAO层直接访问数据库。每一层的责任明确,不可以跨层调用。
代码实现流程
1、如何发起请求?
URL : http://localhost:8080/工程名/servlet/userServlet
2、如何接收请求?
1)创建Servlet类并继承HttpServlet,重写方法
2)配置web.xml
<servlet>
<servlet-name>userServlet</servlet-name>
<servlet-class>servlet.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>userServlet</servlet-name>
<url-parttern>/servlet/userServlet</url-parttern>
</servlet-mapping>
3、Servlet处理请求
1)接收请求的参数值
String userName = request.getParameter("userName");
2)调用service方法处理
3)结果存储到作用域
4)页面跳转
转发: request.getRequestDispatcher("路径").forward(request,response);
重定向: response.sendRedirect("路径");