Struts2 与Servlet

Struts2 与Servlet API解耦的访问方式

1.使用ActionContext类获取Servlet API对象对应的Map对象

1 获取HttpServletRequest对应的Map对象
2 获取HttpSessiont对应的Map对象
3 获取ServletContext对应的Map对象

2.Struts2向Action注入Servlet API对象对应的Map对象

Struts与 Servlet API耦合的访问方式

3 与Servlet API耦合的访问方式


后台绑定数据
前台获取数据

Request.setAttribute(“放在服务器的名称”,”object集合”);
ServletActionContext.getRequest();//获取请求(响应)


1.绑定值到服务器 通过key值找到value[LoginAction ]

package com.lanou.entity;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

//包名小写 类名大写
public class LoginAction {
public String execute() {
    HttpServletRequest request =ServletActionContext.getRequest();
    //绑定值request
    request.setAttribute("reqkey","reqvalue");
    //绑定值session
    request.getSession().setAttribute("seskey", "sesvalue");
    //绑定值到Context[后台只要上下文]
    ServletActionContext.getServletContext().setAttribute("appkey", "appvalue");
    return "success";

}
}

2.前台获取获取【success.jsp】

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
  <head>

  </head>

  <body>
request对象:${request.reqkey}
session对象:${session.seskey}
<!--可以直接写application 因为是就打内置对象之一  -->
application对象:${application.appkey}

  </body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_31334119/article/details/80176281