本次带给大家是的如何使用java反射技术,servlet,jsp和dom4j技术实现一个简单的框架,即模拟struts1框架。
第一天,回顾javaweb知识点。
目标:
1复习web编程知识
2了解常见的WEB应用架构
3了解struts1的工作原理
1 复习java web编程的基础知识:
什么是Servlet
基于Servlet框架和API,继承一个HTTP服务器功能的JavaTM 对象.
映射到URL和通过容器进行管理
在专用WEB服务器和应用服务器上运行
依赖于特定的平台和服务器
Servelet请求响应过程,如图:
Servlet的类和接口
servlet的生命周期:
在web.xml文件中配置servlet:
<web-app>
<servlet>
<servlet-name>chart</servlet-name>
<servlet-class>MyServlet</servlet-class>
<init-param>
<param-name>driver</param-name>
<param-value>
数据库驱动配置信息(只是演示,实际可能使用配置文件)
</param-value>
</init-param>
<init-param>
<param-name>url</param-name>
<param-value>
数据库连接初始化url(只是演示,实际可能使用配置文件)
</param-value>
</init-param>
</servlet>
</web-app>
2 再来了解一下目前采用MVC模式的结构图。
M--代表模型(javaBean)和DAO。实际上是最底层。
C--代码控制层,图片中BO即代表控制层,也就是中间这一层。
V--一般是servlet和jsp。如果采用struts框架,则可能为Action和jsp。
大概是这么个区分法,每个人心中都有自己的一套MVC,所以,能理解三层结构就最好。
了解完MVC结构之后,我们来进入模拟struts课程.
之前我们学习java web的时候,有没有觉得,每个业务都需要一个servlet去处理,然后web.xml文件里面一大堆的servlet要配置,如果一个项目非常巨大,那xml将会变得非常臃肿,而不好维护.我们先来看看servlet主要用来做了什么?
从JSP接受表单提交的数据; 。
将表单的数据封装到对应的VO对象中 。
对数据进行较验
调用对应的BO对象的方法,处理VO对象中的数据;
将处理完的结果数据,转发到相应的JSP页面上。
既然所有的Servlet都是完成这样的相同的工作,我们能不能对它进行一个统一的提取和抽象 ?
Struts的解决方案是这样的:
ActionServlet的调用过程
客户端向ActionServlet发起请求 。
ActionServlet在init()中装入配置文件中的信息。
ActionServlet根据请求的URI,从配置中找到对应的Action和ActionForm
ActionServlet从request或session中查找ActionForm的对象,如果没找到就创建一个。
将请求参数放到ActionForm对象的属性中。
调用ActionForm的reset进行重置。
如果配置文件中设置为要较验,则调用ActionForm.validate(),如果返回false则跳转到input指定的页面。
创建Action对象,并调用Action.execute(),返回一个ActionForward。
跳转到ActionForward指定的页面。
未完待续,请继续关注!谢谢关注!