zoukankan      html  css  js  c++  java
  • Struts2学习笔记

    Struts2 学习

      1. 第一步:导入8个核心包

    a)     commons-fileupload-1.3.1

    b)     commons-io-2.2

    c)     commons-lang3-3.2

    d)     freemarker-2.3.19

    e)     javassist-3.11.0.GA

    f)      ognl-3.0.6

    g)     struts2-core-2.3.20

    h)     xwork-core-2.3.20

      2. 第二步:修改web.xml配置文件

    a)     给配置文件添加Filter

      3. 第三步:创建输入视图

      4. 第四步:实现业务逻辑类

      5. 第五步:创建业务控制器(Action 继承 ActionSupport)

      6. 第六步:配置业务控制器(struts.xml等)

     

    Action直接访问Servlet API

      1. 实现接口:(推荐指数最差)

    a)     ServletContextAware : 实现该接口的Action可以直接访问web应用的ServletContext对象;

    b)     ServletRequestAware :实现该接口的Action可以直接访问用户请求的HttpServletRequest对象;

    c)     ServletResponseAware : 实现该接口的Action可以直接访问服务器响应的HttpServletResponse对象;

      2. 调用ServletActionContext的方法:(与第1点相比,更优点)

    a)     static PageContext getPageContext() : 取得web应用的PageContext对象。

    b)     static HttpServletRequest getRequest() : 取得web应用的HttpServletRequest对象;

    c)     static HttpServletResponse getResponse(): 取得web应用的HttpServletResponse对象;

    d)     static ServletContext getServletContext():取得web应用的ServletContext对象。

      3. 对于第1、2点的说明:

    虽然ServletActionContext类和ServletContextAware等接口都可以使得Action直接访问Servlet API,但是Action与Servlet API直接耦合了,不利于程序解耦。

    所以极力推荐使用下面这种间接的访问Servlet API,而不是上面这两种,如果一定需要直接访问Servlet API的话,那么最好通过ServletActionContext类的帮助,从而以更简单的方式直接访问Servlet API。

    Action间接访问

      Action 访问ActionContext 来间接访问 Servlet API(极力推荐)

    a)     Object  get ( Object key ) :该方法和HttpServletRequest的getAttribute ( String name )方法类似;

    b)     Map  getApplication ( ):返回一个Map对象,该对象模拟了web应用对应的ServletContext对象;

    c)     ActionContext  getContext ( ) :获取系统的ActionContext对象

    d)     Map  getParameters ( ):获取所有的请求参数,类似于调用HttpServletRequest对象的getParameterMap ( )方法;

    e)     Map  getSession ( ):返回一个Map对象,该对象模拟了HttpSession对象;

    f)      Void setApplication( Map application):直接传入一个Map对象将该Map对象中的key-value键值对转换成application的属性名和属性值;

    g)     Void setSession( Map session ):直接传入一个Map对象,将该Map对象里的key-value 键值对转换成session的属性名和属性值。

  • 相关阅读:
    POJ1486 Sorting Slides 二分图or贪心
    POJ2060 Taxi Cab Scheme 最小路径覆盖
    POJ3083 Children of the Candy Corn 解题报告
    以前的文章
    POJ2449 Remmarguts' Date K短路经典题
    这一年的acm路
    POJ3014 Asteroids 最小点覆盖
    POJ2594 Treasure Exploration 最小路径覆盖
    POJ3009 Curling 2.0 解题报告
    POJ2226 Muddy Fields 最小点集覆盖
  • 原文地址:https://www.cnblogs.com/JamKong/p/4354572.html
Copyright © 2011-2022 走看看