struts2緩存
DiskFileItemFactory factory = new DiskFileItemFactory();
//Set factory constraints設置最多隻允許在內存中存儲的數據,單位:位元組
factory.setSizeThreshold(4096);
//設置一旦文件大小超過getSizeThreshold()的值時數據存放在硬碟的目錄(緩存)
factory.setRepository(new File(temp));
//Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint設置允許用戶上傳文件大小,單位:位元組,這里設為5m
upload.setSizeMax(5 * 1024 * 1024);
❷ struts2同時使用action和do的問題
1.
在struts.properties文件把action和do都配置進去,這樣兩種都能訪問了。
2.
在
攔截器
裡面控制那些頁面只能用action,哪些只能用do,這個可能要求把你的所有請求都放到資料庫裡面做為比較,當然讀資料庫比較慢,建議把url放到緩存裡面,比如memache裡面
❸ struts2 怎麼設置response緩存
首先看看你的Action是不是單例,千萬不要用單例;其次,你關閉一下環境,重新試一下;實在不行重啟電腦試一下。如果還不行的話估計就是Web.xml中配置的問題了
❹ struts2二次上傳緩存問題
在spring配置文件中,設置bean的scope=「prototype」屬性了嗎?
❺ struts 2 一個鏈接里包含action 第一次點擊沒問題 第二次出現不執行自動跳轉的情況 頁面禁止緩存已經設置
把你action中的代碼發下,你這就傳了個值,有個毛關系
❻ struts2 怎樣返回上一個緩存的action 就好像用history.go(-1)一樣的效果。
history.go(-1) 是 javaScript 屬於客戶端代碼
返回上一個緩存的action 這個到沒聽說過 但是假如本次請求處理失敗想返回原始界面,並且想保留上次提交時表單中的信息 可以使用Struts的表單標簽 或者自己用標簽實現
❼ 昭通電腦培訓學校告訴你零基礎學習Java編程需要知道什麼
❽ spring和struts2整合配置文件
一、需要的JAR文件為:Spring和Struts2框架本身需要的JAR文件以及他們所依賴的JAR文件,比如commons-logging.jar等等,另外還需要Struts2發布包中的struts2-spring-plugin-x.xx.jar。
二、在web.xml中增加WebApplicationContext的相應配置,以下兩種配置方式本質是一樣的。
1. Servlet 2.3及以上版本可以使用監聽器,相應配置如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
如果spring配置文件被命名為applicationContext.xml,並且放在WEB-INF目錄下,則不需要配置<context-param>,因為ContextLoaderListener默認在WEB-INF目錄下尋找名為applicationContext.xml的文件。若存在多個Spring配置文件,則在<param-value>中依次列出,之間以逗號隔開。
2. Servlet 2.3以下版本由於不支持<listener>,需要配置<servlet>,格式如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>contextLoaderServlet</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
如果spring配置文件被命名為applicationContext.xml,並且放在WEB-INF目錄下,則不需要配置<context-param>,因為ContextLoaderListener默認在WEB-INF目錄下尋找名為applicationContext.xml的文件,或者是名字為contextConfigLocation的ServletContext參數所指定的文件。由於該Servlet配置只是為了在容器啟動時能啟動ContextLoaderServlet使其工作,而不需要引用該Servlet,所以不需要配置<servlet-mapping>。
三、在web.xml中完成載入WebApplicationContext之後,接下來就可以做到Spring和Struts2的整合了。整合有兩種方法,分別敘述如下:
1. 第一種實現方法:
1) 將Struts的業務邏輯控制器類配置在Spring的配置文件中,業務邏輯控制器中引用的業務類一並注入。注意,必須將業務邏輯控制器類配置為scope=」prototype」!
示例如下:
<bean id=」LoginAction」 class=」yaso.struts.action.LoginAction」>
<property name=」loginDao」 ref=」LoginDao」/>
</bean>
2) 在struts.xml或者等效的Struts2配置文件中配置Action時,指定<action>的class屬性為Spring配置文件中相應bean的id或者name值。示例如下:
<action name=」LoginAction」 class=」LoginAction」>
<result name=」success」>/index.jsp</result>
</action>
2. 第二種實現方法:
1) 業務類在Spring配置文件中配置,業務邏輯控制器類不需要配置,Struts2的Action像沒有整合Spring之前一樣配置,<action>的class屬性指定業務邏輯控制器類的全限定名。
2) 業務邏輯控制器類中引用的業務類不需要自己去初始化,Struts2的Spring插件會使用bean的自動裝配將業務類注入進來,其實業務邏輯控制器也不是Struts2創建的,而是Struts2的Spring插件創建的。默認情況下,插件使用by name的方式裝配,可以通過增加Struts2常量來修改匹配方式:設置方式為:struts.objectFactory.spring.autoWire = typeName,可選的裝配參數如下:
a) name:等價於Spring配置中的autowire=」byName」,這是預設值。
b) type:等價於Spring配置中的autowire=」byType」。
c) auto:等價於Spring配置中的autowire=」autodetect」。
d) constructor:等價於Spring配置中的autowire=」 constructor」。
四、如果原先在Struts2中使用了多個object factory,則需要通過Struts2常量顯式指定object factory,方式如下:struts.objectFactory = spring;如果沒有使用多個object factory,這一步可以省略。
五、可以通過設增加Struts2常量來指定是否使用Spring自身的類緩存機制。可以設定的值為true或false,默認為true。設置方式為:struts.objectFactory.spring.useClassCache = false。
六、至此,完成了兩種方式的整合。比較這兩種整合方式,其本質是一樣的。不同之處在於,使用第二種自動裝配的方式時,由於沒有在Spring中配置業務邏輯控制器,所以需要對其配置一些AOP之類的內容時就很難實現了。
❾ struts2文件上傳會有緩存產生么
估計不是struts緩存的問題,我考慮可能是瀏覽器將聲音文件緩存至本地的原因,你試一下清空瀏覽器的緩存。供參考。