几年前学习了一阵子Struts2,也开发了些小项目,后来工作变动,几年没动技术,这两天又想捡起来,发现一些配置有了变化,重新学习,记录些内容,供自己查询。
环境没敢用最新的,MyEclipse用的是8.5的版本,Tomcat最终选择了6,JDK也是用的7,Struts2的版本2.3.16.3。通常的配置没什么要记录的,主要记录下出问题的地方:
1、Tomcat
从MyEclipse启动Tomcat一直报错,后来下载了一个tcnative-1.dll文件才解决,版本要求比较严格,对于Tomcat6.0.41而言,这个动态链接库版本要求是1.1.30,1.1.3都不行,不知道有什么区别,将文件拷贝到jre/bin下即可。
2、web.xml文件内容
1 <?xml version="1.0" encoding="UTF-8"?>
2 <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
3
4 <display-name>Struts Test</display-name>
5
6 <filter>
7 <filter-name>struts2</filter-name>
8 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
9 </filter>
10
11 <filter-mapping>
12 <filter-name>struts2</filter-name>
13 <url-pattern>/*</url-pattern>
14 </filter-mapping>
15
16 <welcome-file-list>
17 <welcome-file>index.html</welcome-file>
18 </welcome-file-list>
19
20 </web-app>
21
3、struts.xml文件内容
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE struts PUBLIC
3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
4 "http://struts.apache.org/dtds/struts-2.3.dtd">
5
6 <struts>
7
8 <constant name="struts.enable.DynamicMethodInvocation" value="true" />
9 <constant name="struts.devMode" value="true" />
10
11 <package name="default" namespace="/" extends="struts-default">
12
13 <default-action-ref name="index" />
14
15 <global-results>
16 <result name="error">/error.jsp</result>
17 </global-results>
18
19 <global-exception-mappings>
20 <exception-mapping exception="java.lang.Exception" result="error"/>
21 </global-exception-mappings>
22
23 <action name="action名" class="java包名及类名">
24 <result name="success">/调用的jsp页面文件p</result>
25 </action>
26 </package>
27
28 <include file="example.xml"/>
29
30 <!-- Add packages here -->
31
32 </struts>
33
4、调用时发现action名定义了大小写后,地址栏也要输入相应的大小写,否则报错。这个问题困扰了好久。。。。。
By SeeSea