映射文件User.hbm.xml例子:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "_//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- 每个class对应一个持久化对象 -->
<class name="net.hncu.po.User">
<!-- id元素用来定义主键标识,并指定主键自动递增 -->
<id name="id">
<generator class="identity"></generator>
</id>
<!-- 定义其他属性 -->
<property name="username"></property>
<property name="password"></property>
<property name="age" type="int"></property>
<property name="birth" type="date"></property>
<property name="email"></property>
</class>
</hibernate-mapping>
applicationContext.xml例子:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
<!-- 定义数据源Bean -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value> </property>
<property name="url"><value>jdbc:mysql://localhost/mystruts2</value> </property>
<property name="username"><value>root</value> </property>
<property name="password"><value>root</value> </property>
</bean>
<!-- 定义SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource"><ref bean="dataSource"/> </property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">false</prop>
</props>
</property>
<property name="mappingResources"><list><value>net/hncu/po/User.hbm.xml</value> </list></property>
</bean>
<!-- 定义hibernateTemplate -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory"><ref bean="sessionFactory"/> </property>
</bean>
<!-- 配置DAO组件-->
<bean id="userDao" class="net.hncu.dao.UserDAOImpl">
<property name="hibernateTemplate"><ref bean="hibernateTemplate"/> </property>
</bean>
<!-- 配置业务逻辑组件-->
<bean id="userService" class="net.hncu.service.UserServiceImpl">
<property name="userDao" ref="userDao"> </property>
</bean>
<!-- 配置用户注册控制器 -->
<bean id="registerAction" class="net.hncu.action.RegisterAction" scope="prototype">
<property name="userService" ref="userService"> </property>
</bean>
<!--创建ValidateNameAction实例 -->
<bean id="validateNameAction" class="net.hncu.action.ValidateNameAction" scope="prototype">
<property name="userService" ref="userService"> </property>
</bean>
<!--创建LoginAction实例 -->
<bean id="LoginAction" class="net.hncu.action.LoginAction" scope="prototype">
<property name="userService" ref="userService"> </property>
</bean>
</beans>
web.xml配置文件例子:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd">
<!--struts2的配置-->
<!-- 定义核心Filter FilterDispatcher -->
<filter>
<!-- 定义核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!-- 定义核心Filter的实现类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<!-- 核心Filter的名称 -->
<filter-name>struts2</filter-name>
<!-- 使用该核心Filter来接受所有的Web请求 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--spring的配置-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--servlet的配置-->
<servlet>
<servlet-name>img</servlet-name>
<servlet-class>net.hncu.servlet.YanZhengMaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>img</servlet-name>
<url-pattern>/Yanzhengma</url-pattern>
</servlet-mapping>
</web-app>
struts.xml配置文件例子:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apace Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<!-- struts为配置文件根元素 -->
<struts>
<constant name="struts.i18n.encoding" value="gb2312" ></constant>
<!-- Action必须放在指定的包名空间中 -->
<package name="struts2" extends="struts-default">
<action name="register" class="registerAction">
<!-- 定义处理结果与视图资源之间的关系 -->
<result name="input">/register.jsp</result>
<result name="success">/login.jsp</result>
<result name="error">/register.jsp</result>
</action>
<action name=" validateName" class="validateNameAction">
<result type="json" name="success"></result>
</action>
<action name="login" class="loginAction">
<!-- 定义处理结果与视图资源之间的关系 -->
<result name="input">/login.jsp</result>
<result name="success">/login_success.jsp</result>
<result name="error">/login.jsp</result>
</action>
</package>
</struts>
创建校验规则文件例子:
<xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<validator type="requiredstring">
<param name="fieldName">username</param>
<param name="trim">true</param>
<message>必须输入用户名</message>
</validator>
<validator type="regex">
<param name="fieldName">username</param>
<param name="expression"><![CDATA[(\w{6,20})]]></param>
<message>用户名长度必须在6~20之间</message>
</validator>
<validator type="requiredstring">
<param name="fieldName">password</param>
<param name="trim">true</param>
<message>必须输入密码</message>
</validator>
<validator type="regex">
<param name="fieldName">password</param>
<param name="expression"><![CDATA[(\w{6,20})]]></param>
<message>密码长度必须在6~20之间</message>
</validator>
<validator type="requiredstring">
<param name="fieldName">repassword</param>
<param name="trim">true</param>
<message>必须输入确认密码</message>
</validator>
<validator type="regex">
<param name="fieldName">repassword</param>
<param name="expression"><![CDATA[(\w{6,20})]]></param>
<message>确认密码长度必须在6~20之间</message>
</validator>
<validator type="fieldexpression">
<param name="fieldName">repassword</param>
<param name="expression"><![CDATA[(repassword==password)]]></param>
<message>密码和确认密码必须一致</message>
</validator>
<validator type="int">
<param name="fieldName">age</param>
<param name="min">1</param>
<param name="max">120</param>
<message>年龄必须在${min}~${max}之间</message>
</validator>
<validator type="date">
<param name="fieldName">birth</param>
<param name="min">1900-01-01</param>
<param name="max">2010-01-01</param>
<message>出生日期必须在1900-01-01~2010-01-01之间</message>
</validator>
<validator type="email">
<param name="fieldName">email</param>
<message>请输入有效的电子邮箱地址</message>
</validator>
</validators>