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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

struct2利用相关的Aware接口

發布時間:2025/3/14 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struct2利用相关的Aware接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Struts 2提供了Aware接口。Aware為"感知"的意思,實現了相關Aware接口的Action能夠感知相應的資源。Struts在實例化一個Action實例時,如果發現它實現了相應的Aware接口,會把相應的資源通過Aware接口方法注射進去。這種方式也可以叫做注射方式(IoC方式)。

Servlet API中常用對象application、request、response、Session對應的Aware接口分別為ServletContextAware、ServletRequestAware、ServletResponseAware、SessionAware。例如,下面的Action實現了這4種接口,能夠感知到這些對象。

package com.helloweenvsfei.struts2.action; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.apache.struts2.interceptor.SessionAware; import org.apache.struts2.util.ServletContextAware; public class ServletAwareAction extends ActionSupport implements ServletRequestAware, ServletResponseAware, SessionAware, Servlet ContextAware { private ServletContext application; // Servlet上下文 private HttpServletRequest request; // request對象 private HttpServletResponse response; // response對象 private Map session; // session對象 public void setServletRequest(HttpServletRequest request) { // request的setter方法 this.request = request; } public void setServletResponse(HttpServletResponse response) { // request的setter方法 this.response = response; } public void setSession(Map sessionValues) { // session的setter方法 this.session = sessionValues; } public void setServletContext(ServletContext application) { // servletContext的setter方法 this.application = application; } public String execute() { // 主方法 String upload = application.getRealPath("upload"); // 使用application request.getRemoteAddr(); // 使用request response.getContentType(); // 使用response session.get("account"); // 使用Session return Action.SUCCESS; }
}

?實現了ServletRequestAware接口便會有一個setServletRequest()方法獲取request對象。實現了ServletResponseAware接口便會有一個setServletResponse()方法獲取response對象。不同的是SessionAware接口的setter方法是setSession()方法的參數是Map類型。該Map代表Session內存儲的各種數據。

Aware接口其實是一種攔截器,攔截器代碼會在執行Action之前執行,將相關的Servlet對象設置進來

轉載于:https://www.cnblogs.com/ydymz/p/8330190.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的struct2利用相关的Aware接口的全部內容,希望文章能夠幫你解決所遇到的問題。

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