首页 > 代码库 > JAVA-STRUTS-2x的项目配置

JAVA-STRUTS-2x的项目配置

首先是web.xml的配置,这个是项目加载的开始。

 1   <display-name></display-name> 2   <!--struts2配置开始--> 3   <filter> 4       <filter-name>struts2</filter-name><!--和mapping中name一致--> 5       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 6   </filter> 7   <filter-mapping> 8       <filter-name>struts2</filter-name> 9       <url-pattern>*.do</url-pattern>10       <url-pattern>*.jsp</url-pattern>11   </filter-mapping>12   <!--struts2配置结束-->13   <welcome-file-list>14     <welcome-file>index.jsp</welcome-file>15   </welcome-file-list>

然后是src下的struts.xml文件,它是struts配置文件的源头。

 1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE struts PUBLIC 3  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4  "http://struts.apache.org/dtds/struts-2.0.dtd"> 5  6 <struts> 7     <!-- 编码 --> 8     <constant name="struts.i18n.encoding" value="http://www.mamicode.com/UTF-8" /> 9     <!-- 扩展名 -->10     <constant name="struts.action.extension" value="http://www.mamicode.com/do,action" />11     <!-- 浏览器是否缓存静态数据 -->12     <constant name="struts.serve.static.browserCache" value="http://www.mamicode.com/false" />13     <!-- struts配置文件修改后自动加载 -->14     <constant name="struts.configuration.xml.reload" value="http://www.mamicode.com/true" />15     <!-- 开发模式下打印出更详细的错误信息 true false -->16     <constant name="struts.devMode" value="http://www.mamicode.com/true" />17     <!-- 默认主体 -->18     <constant name="struts.ui.theme" value="http://www.mamicode.com/simple" />19     <!-- 是否支持动态调用 -->20     <constant name="struts.enable.DynamicMethodInvocation" value="http://www.mamicode.com/false" />21     <!-- 上传文件的大小 -->22     <constant name="struts.multipart.maxSize" value="http://www.mamicode.com/2097152" />23 24     <package name="base" extends="struts-default"></package>25     <include file="strutsxml/struts.xml"></include> <!-- 值是可以变的,改成你对应的文件就好 -->26     <include file="strutsxml/struts_ajax.xml"></include> <!-- 可以加载多个子配置文件 -->27 </struts>

加载主配置文件后,会加载子配置文件。这里就写出一个了,另一个可有可无,看项目结构了。

strutsxml/struts.xml

 1   <?xml version="1.0" encoding="utf-8"?> 2   <!DOCTYPE struts PUBLIC 3    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 4    "http://struts.apache.org/dtds/struts-2.0.dtd"> 5    6   <struts> 7       <package name="default" extends="base" namespace="/"> 8           <!-- class的值对应java类,默认调用execute方法;可增加属性method,值为方法名已修改调用方法 --> 9           <action name="Categories" class="com.junjuping.ui.action.Categories">10               <result name="succ">/CategoriesList.jsp</result> <!-- 对应jsp文件;name值则为java类返回的字符串 -->11           </action>12       </package>13   </struts>

子配置文件的action标签也可直接放到主配置文件中(package标签里)。
默认调用对应的java类中的execute方法。

com.junjuping.ui.action.Categories.java

 1 public class Categories 2 { 3     public String execute() throws Exception { 4         String result = ""; // 返回值 5         HttpServletRequest request = ServletActionContext.getRequest(); 6         HttpServletResponse response = ServletActionContext.getResponse(); 7         CategoriesServce categoriesServce = new CategoriesServce(); 8         ArrayList<String[]> resultList = categoriesServce.select(); 9         request.setAttribute("resultList", resultList);10         result = "succ";11         return result;12     }}

jsp文件在这里就不再说明了。