您的位置:首页 > 编程语言 > Java开发

Struts2访问Servlet API的三种方式

2019-03-19 16:07 81 查看
版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41083009/article/details/88664865

目前我学会的方式有三种:
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.<
4000
span class="token function">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接口实现功能,在相应跳转页面显示信息。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: