最近听了马士兵老师的一个视频,讲的struts访问web元素
1:jsp页面 accessWeb.jsp
<body>
取得Map类型的request,response,application,真实类型的HttpServletRequest,HttpServletResponse,ServletContext的引用:
<ol>
<li>前三者:依赖于容器</li>
<li>前三者:IOC</li>
<li>后三者:依赖于容器</li>
<li>后三者:IOC</li>
</ol>
<br/>
<form name="f" action="" method="post">
用户名:<input type="text" name="name"/>
密码:<input type="text" name="password"/>
<br/>
<input type="button" value="submit1" οnclick="javascript:document.f.action='login/login1';document.f.submit();"/>
<input type="button" value="submit2" οnclick="javascript:document.f.action='login/login2';document.f.submit();"/>
<input type="button" value="submit3" οnclick="javascript:document.f.action='login/login3';document.f.submit();"/>
<input type="button" value="submit4" οnclick="javascript:document.f.action='login/login4';document.f.submit();"/>
</form>
</body>
2:struts.xml配置
<package name="login" extends="struts-default" namespace="/login">
<action name="login*" class="com.capinfotech.web.action.LoginAction{1}">
<result name="success">/user_login_success.jsp</result>
</action>
</package>
3:LoginAction的内容
LoginAction1.java:
public class LoginAction1 extends ActionSupport{
private static final long serialVersionUID = 7964423947654287569L;
private Map request;
private Map session;
private Map application;
public LoginAction1() {
request = (Map)ActionContext.getContext().get("request");
session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication();
}
public String execute() {
request.put("r1", "r1");
session.put("s1", "s1");
application.put("a1", "a1");
return SUCCESS;
}
}
LoginAction2.java:
public class LoginAction2 extends ActionSupport implements RequestAware, SessionAware, ApplicationAware{
private static final long serialVersionUID = 6409381047458882347L;
private Map<String, Object> request;
private Map<String, Object> session;
private Map<String, Object> application;
//DI dependency injection
//IOC(inverse of control)
public void setRequest(Map<String, Object> request) {
this.request = request;
} public void setSession(Map<String, Object> session) {
this.session = session;
}
public void setApplication(Map<String, Object> application) {
this.application = application;
}
public String execute() {
request.put("r1", "r1");
session.put("s1", "s1");
application.put("a1", "a1");
return SUCCESS;
}
}
LoginAction3.java:
public class LoginAction3 extends ActionSupport{
private static final long serialVersionUID = -1849003438117251182L;
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public LoginAction3() {
request = ServletActionContext.getRequest();
session = request.getSession();
application = session.getServletContext();
}
public String execute() {
request.setAttribute("r1", "r1");
session.setAttribute("s1", "s1");
application.setAttribute("a1", "a1");
return SUCCESS;
}}
LoginAction4.java:
public class LoginAction4 extends ActionSupport implements ServletRequestAware{
private static final long serialVersionUID = -9142255841666204739L;
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public String execute() {
request.setAttribute("r1", "r1");
session.setAttribute("s1", "s1");
application.setAttribute("a1", "a1");
return SUCCESS;
} public void setServletRequest(HttpServletRequest request) {
this.request = request;
this.session = request.getSession();
this.application = session.getServletContext();
}}
4: user_login_success.jsp
<body>
User Login Success!
<br/>
<s:property value="#request.r1"/> | <%=request.getAttribute("r1") %> <br/>
<s:property value="#session.s1"/> | <%=session.getAttribute("s1") %> <br/>
<s:property value="#application.a1"/> | <%=application.getAttribute("a1") %> <br/>
<s:property value="#attr.a1"/><br/>
<s:property value="#attr.s1"/><br/>
<s:property value="#attr.r1"/><br/>
<s:debug />
</body>
5: 程序显示的结果
User Login Success!
r1 | r1
s1 | s1
a1 | a1
a1
s1
r16:总结
最常用的是第二种,即LoginAction2.java的内容,实现了相应的接口,当程序运行时,如果发现该类实现了这几个接口,如RequestAware接口,那么系统会直接把此时的request注入,有Spring的DI和IOC思想
Struts中request,session和application方法访问web元素
原创ccna_zhang 博主文章分类:SSH ©著作权
文章标签 application session struts web javascript 文章分类 后端开发
©著作权归作者所有:来自51CTO博客作者ccna_zhang的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Windows下端口占用查看
下一篇:CSS选择符
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
struts 2 中访问request和session
struts 2
Struts IOC Spring Servlet Apache -
访问或添加request/session/application属性
ctionContext.g
html java css -
Struts2 访问web元素
访问web元素
struts2.0 struts java apache -
STRUTS2获得session和request
STRUTS2获得session和request 在struts1中,获得到系统的reques...
IOC Spring Struts Apache 工作 -
request,session,application 的区别
request中存储的数据仅在一个请求
application request session 数据 web项目 -
SpringMVC访问request和http session
SpringMVC访问request1. 直接在controller方法里面加入HttpServletR
java web.xml spring xml