Struts2访问Servlet API的三种方式

目前我学会的方式有三种:
1.通过ActionContext
2.通过ServletActionContext
3.通过接口

1、通过ActionContext

 public String execute() throws Exception{
	 
	 ActionContext.getContext().put("name", "初始的request");                       //<---------------------(1)
	 
	 Map<String,Object> sessionScope=ActionContext.getContext().getSession();      //<---------------------(2)  
	 sessionScope.put("name", "sessionName");
	 
     if(
        ("2019".equals(u.getUsername())) && ("2019".equals(u.getUserpass())))
     {
    	 return SUCCESS;
     }
		 return ERROR;
 }

内置域直接使用(1),其他域就用(2);集合中的对象是一个Map对象,而这个Map对象的键是String类型,值是Object类型,是固定写法。

  <body>
    <font color="red" size="10">用户名或密码错误!</font>
    <font color="red" size="10">${name}</font>
  </body>

在登录成功或失败的跳转页面显示相应的值,我用的是EL表达式,当(1)、(2)同时获取时(就是两个都写),获取的是内置域的。
在这里插入图片描述
2.通过ServletActionContext

	HttpServletRequest request=ServletActionContext.getRequest();
	HttpSession session=request.getSession();
	
 public String execute() throws Exception{
	 
	System.out.println("初始的request"+request);
	 
	request.setAttribute("name", "初始的request");
	
	session.setAttribute("name", "初始的session");
	
     if(
        ("2019".equals(u.getUsername())) && ("2019".equals(u.getUserpass())))
     {
    	 return SUCCESS;
     }
		 return ERROR;
 }

使用setAttribute()给“name”赋值,然后在相应跳转页面显示出来。

3.通过接口

public class LoginAction extends ActionSupport implements ServletRequestAware{
	
	private User u;
	private HttpServletRequest request;                            //<----------
	public void setServletRequest(HttpServletRequest request) {    //<----------
		// TODO Auto-generated method stub
		this.request=request;
	}
public String execute() throws Exception{
	 
	System.out.println("初始的初始的request"+request);
	
	request.setAttribute("name", "初始的request");
	
     if(
        ("2019".equals(u.getUsername())) && ("2019".equals(u.getUserpass())))
     {
    	 return SUCCESS;
     }
		 return ERROR;
 }
public User getU() {
	return u;
}
public void setU(User u) {
	this.u = u;
}
}

通过HttpServletRequest接口实现功能,在相应跳转页面显示信息。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值