JAVA开发入门学习,SSH三步曲, step1

Servlet的几个重要对象

HttpServletRequest.

HttpServletResponse.

HttpSession.

ServletContext--> Application

HttpSession.invalidate()可以结束一个会话。

Enterprise Java BeanEJB)组件是基于标准分布式对象技术。

XML文件常用作各种软件应用的配置文件。基于Struts框架中有两个重要的配置文件

Web.xml以及stuts-config.xml

WEB服务器用于处理HTTP请求,应用服务器可以提供和WEB应用相关的服务,如EJB容器就是一种处理业务逻辑和事物的应用服务器。

请求转发:Servlet类使用javax.servlet.RequestDispatcher.forword()方法来转发HTTP请求。

JAVA中常常使用大的对象比如request, response, system等获取一些接口的实例化对象。

重定向的源组件和目标组件之间不共用同一个HttpServletRequest对象,因此不能共享request范围内的共享数据。

Servlet类使用javax.servlet.RequestDispatcher.include()方法包含其他组件。

RequestDispatcher rd;

rd = req.getRequestDispatcher("/header.jsp");

rd.include(req, res);

rd = req.getRequestDispatcher("/main.jsp");

rd.include(req, res);

rd = req.getRequestDispatcher("/footer.jsp");

rd.include(req, res);

Struts实质上是MVC框架的一种应用,M是由实现业务逻辑的JavaBean或者EJB组件组成,控制器由ActionServletAction来实现,视图由一组JSP文件构成。

  



通常Struts框架中的ActionForm Bean也被划分到视图模块中。Struts框架把用户输入的表单数据保存在ActionForm Bean中,把它传递给控制器。JSP文件使用Struts读取修改后的ActionForm Bean的信息。

模型表示程序的状态和业务逻辑,对应大型应用,业务逻辑通常由JAVABEAN或者EJB组件来实现。

ActionServlet 继承了javax.servlet.http.HttpServlet类,负责接收HTTP请求,根据配置文件struts-config.xml,把请求发给Action对象,ActionServlet会创建不存在Action对象。

ActionForward Action.execute();

Action类负责调用模型的方法,更新模型的状态,并帮组控制应用程序的流程。对于小型的应用,Action类本身也可以完成一些实际的业务逻辑。

对大型的应用,Action充当用户请求和业务逻辑处理之间的Adaptor,目的是将请求与业务逻辑分开。业务逻辑有Java Bean或者EJB来完成。

struts-config.xml中,每一个Action映射信息都通过一个<action>元素来配置,在内存中,每个<action>元素都对应一个org.apache.struts.action.ActionMapping类的实例。

Struts流程

         ActionServlet接收到一个客户请求时

         1.检索与请求匹配的ActionMapping实例。

         2.创建补存在的ActionForm对象,把客户提交的表单数据保存到ActionForm中。

         3.按需使用ActionFormvalidate()方法进行表单验证。

         4.如果validate()方法返回Null或者一个没有ActionMessageActionErrors对象则表单测试OK

         5.ActionServlet根据ActionMapping的信息决定将请求传给下一个Action。创建不存在的Action实例,调用它的execute方法。

         6. ActionForward Action.execute(),此对象指向JSP组件生成动态网页,返回给客户。

         7.ActionForward对象指向的JSP组件生成动态网页,返回给客户。

原文地址:https://www.cnblogs.com/rain64531264/p/1944499.html