顾乔芝士网

持续更新的前后端开发技术栈

servlet和dom4j实现模拟struts1框架(一)

本次带给大家是的如何使用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指定的页面。

未完待续,请继续关注!谢谢关注!

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言