Struts1.2配置详解与问题解决

需积分: 3 0 下载量 7 浏览量 更新于2024-09-17 收藏 40KB DOC 举报
"struts1.2配置问题总结" 在Java Web开发中,Struts1.2是一个非常流行的MVC框架,用于构建企业级应用程序。本文将深入探讨Struts1.2配置过程中常见的问题和解决方案。 首先,我们关注的是`web.xml`文件,这是任何Web应用程序的部署描述符。在`web.xml`中,你需要正确配置Struts的ActionServlet。`<servlet>`和`<servlet-mapping>`元素是关键部分,确保`servlet`定义在`servlet-mapping`之前,因为`servlet-mapping`指定了Servlet如何响应HTTP请求。对于Struts1.2,`<servlet>`通常包含一个名为`ActionServlet`的类,并通过`<init-param>`来指定配置文件的位置,如: ```xml <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> ... </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> ``` `struts-config.xml`是Struts应用的核心配置文件,可以自定义文件名,但默认为`struts-config.xml`。在这个文件中,你可以定义Action、Form Bean、DataSources、Plug-ins等。例如: ```xml <struts-config> <form-beans> <!-- Form Bean配置 --> </form-beans> <action-mappings> <!-- Action配置 --> </action-mappings> <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" /> <global-forwards> <!-- 全局转发配置 --> </global-forwards> <message-resources parameter="com.example.applicationResources" /> </struts-config> ``` 关于欢迎文件列表`<welcome-file-list>`,你不能直接将Struts的Action作为欢迎文件。通常,你会有一个欢迎页面(如`welcome.jsp`),然后在其中使用`<logic:forward>`标签来调用Struts Action,如: ```xml <welcome-file-list> <welcome-file>welcome.jsp</welcome-file> </welcome-file-list> ``` 在`welcome.jsp`中: ```jsp <body> <logic:forward name="welcome"/> </body> ``` 此外,`web.xml`还可以配置错误处理页面。例如,当遇到404(Not Found)错误时,你可以将用户重定向到自定义的404错误页面: ```xml <error-page> <error-code>404</error-code> <location>/common/404.jsp</location> </error-page> ``` 对于特定异常类型的处理,你可以使用`exception-type`来捕获并处理,如ServletException: ```xml <error-page> <exception-type>javax.servlet.ServletException</exception-type> <location>/common/system_error.jsp</location> </error-page> ``` 在Struts1.2的配置中,理解这些基本元素及其顺序至关重要,因为它们直接决定了应用程序能否正常运行。确保正确配置`web.xml`和`struts-config.xml`是避免配置问题的关键。在开发和调试过程中,仔细检查这些文件,理解每个元素的作用,将有助于解决可能出现的任何问题。