day25_Struts2学习笔记_01 (10)

  局部视图的配置


  全局视图的配置
十三、Struts2中调用ServletAPI

  获取ServletAPI的两种方式:
    第一种方式:使用的是ServletActionContext的对象(此种方式简单明了,推荐此种方式)
    第二种方式:使用的是依赖注入的形式,把我们想要的对象注入进来,是由一个拦截器为我们做的。需要实现3个接口,实现其中的方法。
  示例代码如下:

package com.itheima.web.action;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionSupport;
/**
 * 获取ServletAPI的两种方式: 
 *         第一种方式:使用的是 ServletActionContext 的对象(此种方式简单,推荐此种方式) 
 *         第二种方式:使用的是 依赖注入 的形式,把我们想要的对象注入进来,是由一个拦截器为我们做的。需要实现3个接口,实现其中的方法。
 * 
 * @author cmj
 */

public class Demo1Action extends ActionSupport
        implements ServletRequestAwareServletResponseAwareServletContextAware 
{

    private HttpServletRequest request;
    private HttpServletResponse response;
    private ServletContext application;

    public String execute() {
        // 方式一:使用 ServletActionContext 对象
        // HttpServletRequest request = ServletActionContext.getRequest();
        // HttpServletResponse response = ServletActionContext.getResponse();
        // ServletContext application = ServletActionContext.getServletContext();
        // HttpSession session = request.getSession();
        // System.out.println(request);     // org.apache.struts2.dispatcher.StrutsRequestWrapper@500b3f4c
        // System.out.println(response);    // org.apache.catalina.connector.ResponseFacade@1268bfa2
        // System.out.println(application); // org.apache.catalina.core.ApplicationContextFacade@1afd2e1f
        // System.out.println(session);     // org.apache.catalina.session.StandardSessionFacade@63df0310
        
     // 方式二:使用依赖注入
        HttpSession session = request.getSession();
        System.out.println(request);    
        System.out.println(response);   
        System.out.println(application);
        System.out.println(session);

        return null;
    }

    @Override
    public void setServletContext(ServletContext application) {
        this.application = application;
    }

    @Override
    public void setServletResponse(HttpServletResponse response) {
        this.response = response;
    }

    @Override
    public void setServletRequest(HttpServletRequest request) {
        this.request = request;
    }
}
十四、分文件编写Struts2的配置文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppdpj.html