HTTP Status 404 - There is no Action mapped for namespace [/] and action nam
struts.xml 文件一定要放到src 目录下面。
struts.xml 注意:
struts-2.3.dtd 版本号要与jar包中的对应!
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 <struts> 6 <package name="default" extends="struts-default"> 7 <action name="register" class="RegisterAction"> 8 <result name="success">welcome.jsp</result> 9 </action> 10 </package> 11 </struts>
web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 5 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 6 <filter> 7 <filter-name>Struts2Filter</filter-name> 8 <filter-class> 9 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter // 注意这一句,这是新的写法,有的教程过时了。 10 </filter-class> 11 </filter> 12 <filter-mapping> 13 <filter-name>Struts2Filter</filter-name> 14 <url-pattern>/*</url-pattern> 15 </filter-mapping> 16 <welcome-file-list> 17 <welcome-file>index.jsp</welcome-file> 18 </welcome-file-list> 19 </web-app>
校验器代码:
1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" 4 "//www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> 5 6 <!-- START SNIPPET: validators-default --> 7 <validators> 8 9 <field name="user.username" type="requiedstring"> 10 <field-validator> 11 <param name="trim">true</param> 12 <message>用户名不能为空</message> 13 </field-validator> 14 15 </field> 16 <field name="user.password"> 17 <field-validator type="requiredstring"> 18 <param name="min">6</param> 19 <param name="min">10</param> 20 <message>必须在长度是6~10之间</message> 21 </field-validator> 22 23 <field-validator type="regex"> 24 <param name="expression"><![CDATA[(\w{6,16})]]></param> 25 <message>用户名输入不合法,必须为长度在6~16中间的数字或字母</message> 26 </field-validator> 27 28 </field> 29 30 31 </validators>
User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.ssh.beans.User" table="user"> <id name="id" column="userId" type="java.lang.long"> <generator class="native"></generator> </id> <property name="username" column="username" type="java.lang.String" /> <property name="password" column="password" type="java.lang.String"/> <property name="gender" column="gender" type="java.lang.Interger" /> </class> </hibernate-mapping>
Hibernate.cfg.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 5 <hibernate-configuration> 6 <session-factory> 7 8 <property name="hibernate.connection.url"> 9 jdbc:mysql://localhost:3306/test 10 </property> 11 <property name="hibernate.connection.driver_class"> 12 com.mysql.jdbc.Driver 13 </property> 14 <property name="hibernate.connection.username"> 15 root 16 </property> 17 <property name="hibernate.connection.password"> 18 qduwky 19 </property> 20 <property name="hibernate.dialect"> 21 org.hibernate.dialect.MySQLDialect 22 </property> 23 <property name="show_sql"> 24 false 25 </property> 26 <mapping resource="com.ssh.beans/User.hbm.xml" /> 27 </session-factory> 28 </hibernate-configuration>