日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2 访问web元素

發布時間:2025/6/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2 访问web元素 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

訪問web元素的四種方法(耦合,依賴注入)、(耦合,非依賴注入)、(非耦合,依賴注入)、(非耦合,非依賴注入)

耦合:可以得到HttpServletResponse,HttpServletRequest,HttpSession等類型對象。能直接操作到真正的web元素。

非耦合:得到的是由struts封裝好的Map類型,只能對范圍進行存取值操作。

依賴注入:對象由struts2從外部注入。Action類不需要關心對象是如何得到的。

非依賴注入:對象由Action類自己提供初始化。

耦合

  非依賴注入

1 public class UserAction extends ActionSupport{ 2 //類型為真實的web元素:HttpServletResponse,HttpServletRequest等.. 3 private HttpServletResponse resp; 4 private HttpServletRequest req; 5 private HttpSession session; 6 private ServletContext app; 7 8 public String execute() throws IOException{ 9 req = ServletActionContext.getRequest(); //得到request 10 resp = ServletActionContext.getResponse(); //得到response 11 app = ServletActionContext.getServletContext(); //得到application 12 session = ServletActionContext.getRequest().getSession(); //得到session 13 //操作 14 req.setAttribute("req", "write req.."); //往request里存值 15 session.setAttribute("session", "write session"); //住session里存值 16 session.getAttribute("session"); //從session里取值 17 resp.getWriter(); //得到response的 PrintWriter 18 return "test"; 19 } 20 }

?

  依賴注入

1 //實現ServletRequestAware,ServletResponseAware接口 2 public class UserAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{ 3 private HttpServletResponse resp; 4 private HttpServletRequest req; 5 private HttpSession session; 6 private ServletContext app; 7 8 public String execute() throws IOException{ 9 //操作 10 req.setAttribute("req", "write req.."); //往request里存值 11 session.setAttribute("session", "write session"); //住session里存值 12 session.getAttribute("session"); //從session里取值 13 resp.getWriter(); //得到response的 PrintWriter 14 return "test"; 15 } 16 17 //重寫setServletResponse方法,Response對象不需要自己得到,由struts2從外部注入 18 public void setServletResponse(HttpServletResponse resp) { 19 this.resp=resp; //得到response 20 } 21 //重寫setServletRequest方法,Request對象不需要自己得到,由struts2從外部注入 22 public void setServletRequest(HttpServletRequest req) { 23 this.req=req; //得到request 24 this.session = req.getSession(); //得到session 25 this.app = session.getServletContext(); //得到application 26 } 27 }

?

非耦合

?  非依賴注入

1 public class UserAction extends ActionSupport{ 2 //得到的是由struts封裝好的Map類型,只能對范圍進行存取值操作 3 private Map<String,Object> req; 4 private Map<String,Object> session; 5 private Map<String,Object> app; 6 7 public String execute() throws IOException{ 8 req= (Map<String,Object>)ActionContext.getContext().get("request"); //得到request 9 session = ActionContext.getContext().getSession(); //得到session 10 app = ActionContext.getContext().getApplication(); //得到application 11 //操作 12 req.put("req", "write req.."); //存值到request 13 session.put("session", "write session.."); //存值到session 14 app.put("app", "write application.."); //存值到application 15 session.get("session"); //從session存值 16 return "test"; 17 } 18 }

?

  依賴注入(推薦)

1 //實現RequestAware,SessionAware,ApplicationAware等接口 2 public class UserAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{ 3 //得到的是由struts封裝好的Map類型,只能對范圍進行存取值操作 4 private Map<String,Object> req; 5 private Map<String,Object> session; 6 private Map<String,Object> app; 7 8 public String execute() throws IOException{ 9 //操作 10 req.put("req", "write req.."); //存值到request 11 session.put("session", "write session.."); //存值到session 12 app.put("app", "write application.."); //存值到application 13 session.get("session"); //從session存值 14 return "test"; 15 } 16 //得到application 17 public void setApplication(Map<String, Object> app) { 18 this.app=app; 19 } 20 //得到session 21 public void setSession(Map<String, Object> session) { 22 this.session=session; 23 } 24 //得到request 25 public void setRequest(Map<String, Object> req) { 26 this.req= req; 27 } 28 }

?

轉載于:https://www.cnblogs.com/likailan/p/3334553.html

總結

以上是生活随笔為你收集整理的Struts2 访问web元素的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。