Struts中web.xml和struts-config.xml配置详解
一、web.xml
是标准的Web档案部署描述器。下面是一个简单项目的web.xml中的配置消息。
1 <?xml version="1.0"?>
2
3 <web-app>
4 <servlet>
5 <servlet-name>action</servlet-name>
6 <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
7 <init-param>
8 <param-name>config</param-name>
9 <param-value>/WEB-INF/struts-config.xml</param-value>
10 </init-param>
11 <load-on-startup>1</load-on-startup>
12 <servlet>
13
14 <servlet-mapping>
15 <servlet-name>action</servlet-name>
16 <url-pattern>*.do</url-pattern>
17 </servlet-mapping>
18
19 <welcome-file-list>
20 <welcome-file>/index.jsp</welcome-file>
21 </welcome-file-list>
22 </web-app>
解析:
1 2 3 | 声明从给Servlet赋值一个名称开始,改名称用于下面将Servlet映射到指定的应用请求。 定义了Servlet的名称和类之后,接下来定义config初始化参数。该参数告诉哪里能找到中心配置文件struts-config.xml load-on-startup标签指定的值越低,在Servlet启动时首先载入。 接下来一段知名映射关系。Servlet-name引用前面的名称,使之对应 的Action与此映射有关。 url-pattern声明ServletAction将要应答的URL的模式。默认是以.do结尾 welcome-file配置欢迎文件的列表。当web请求无法实现时,Servlet就用这些页面应答。二、struts-config.xml 解析: formbean配置段,用来指定Struts应用中所有使用的ActionForm对象。将逻辑名与别名相联系,这样直接引用ActionForm即可 接下来是全局配置段,是一种将逻辑名配置给页面位置的方法。 action-mapping配置段六个属性分别配置: path配置与action有关的路径(用于访问Struts应用)。在这里,Struts处理访问到"/search.do"的请求 type配置指定应当执行的 action类的路径 name属性对性web.xml中formbean的属性 scope和validate是关于formbean 的配置。分别配置范围和formbean是否应该有validate()方法 input指定哪个页面用于输入数据或者执行action 最后的资源配置消息用于指定资源包的位置。Struts会自动把.properties的扩展名放在指定的配置文件名之后 < struts-config > < form-beans > < form-bean name="searchForm" type="com.uniquestudio.SearchForm"> </ form-bean > </ form-beans > < global-forwards > < forword name="search" path="/search.jsp"/> </ global-forwards > < action-mapping > < action path="/serch" type="com.uniquestudio.SearchAction" name="SearchForm" scope="request" validate="true" input="/search.jsp" </action> </ action-mapping > < message-resources parameters= "com.uniquestudio.MessageResources"/> </ struts-config > |
分类:
Java/Jsp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述