日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Struts2 访问web元素

發布時間:2025/6/17 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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元素的全部內容,希望文章能夠幫你解決所遇到的問題。

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