2创建用户模板
Posted Michael2397
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2创建用户模板相关的知识,希望对你有一定的参考价值。
1、创建数据库
create database crm; use crm; /* SQLyog v10.2 mysql - 5.1.72-community : Database - crm_hibernate ********************************************************************* */ /*!40101 SET NAMES utf8 */; /*!40101 SET SQL_MODE=\'\'*/; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=\'NO_AUTO_VALUE_ON_ZERO\' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; /*Table structure for table `sys_user` */ CREATE TABLE `sys_user` ( `user_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT \'用户id\', `user_code` varchar(32) NOT NULL COMMENT \'用户账号\', `user_name` varchar(64) NOT NULL COMMENT \'用户名称\', `user_password` varchar(32) NOT NULL COMMENT \'用户密码\', `user_state` char(1) NOT NULL COMMENT \'1:正常,0:暂停\', PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; /*Data for the table `sys_user` */ LOCK TABLES `sys_user` WRITE; insert into `sys_user`(`user_id`,`user_code`,`user_name`,`user_password`,`user_state`) values (5,\'m0003\',\'小军\',\'123\',\'1\'),(6,\'m0001\',\'小红\',\'123\',\'1\'),(7,\'m0001\',\'小明\',\'123\',\'1\'),(8,\'m0001\',\'小红\',\'123\',\'1\'); UNLOCK TABLES; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
2、创建用户实体/crm/src/com/louis/domain/User.java
package com.louis.domain; public class User { // 主键 private Long user_id; // 登录名称 private String user_code; // 用户姓名 private String user_name; // 密码(保存的时候,需要加密处理) private String user_password; // 用户的状态 1正常 0暂停 private String user_state; public Long getUser_id() { return user_id; } public void setUser_id(Long user_id) { this.user_id = user_id; } public String getUser_code() { return user_code; } public void setUser_code(String user_code) { this.user_code = user_code; } public String getUser_name() { return user_name; } public void setUser_name(String user_name) { this.user_name = user_name; } public String getUser_password() { return user_password; } public void setUser_password(String user_password) { this.user_password = user_password; } public String getUser_state() { return user_state; } public void setUser_state(String user_state) { this.user_state = user_state; } }
3、编写hibernate映射文件/crm/src/com/louis/domain/User.hbm.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.louis.domain.User" table="sys_user"> <id name="user_id" column="user_id"> <generator class="native"/> </id> <property name="user_code" column="user_code"/> <property name="user_name" column="user_name"/> <property name="user_password" column="user_password"/> <property name="user_state" column="user_state"/> </class> </hibernate-mapping>
4、引入映射文件/crm/src/applicationContext.xml
<!-- 引入映射的配置文件 --> <property name="mappingResources"> <list> <value>com/louis/domain/User.hbm.xml</value> </list> </property>
5、创建用户Action/crm/src/com/louis/web/action/UserAction.java
package com.louis.web.action; import com.louis.domain.User; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class UserAction extends ActionSupport implements ModelDriven<User> { private static final long serialVersionUID = -3413092622818913571L; private User user = new User(); public User getModel() { return user; } }
6、配置用户模块/crm/src/applicationContext.xml
<!-- 配置用户的模块 -->
<bean id="userAction" class="com.louis.web.action.UserAction" scope="prototype">
</bean>
7、配置用户请求/crm/src/struts.xml
<!-- 配置用户的模块 -->
<action name="user_*" class="userAction" method="{1}">
<result name="loginOK" type="redirect">/index.jsp</result>
</action>
8、创建服务类/crm/src/com/louis/service/impl/UserServiceImpl.java
package com.louis.service.impl; import org.springframework.transaction.annotation.Transactional; import com.louis.service.UserService; @Transactional public class UserServiceImpl implements UserService { }
9、配置服务类/crm/src/applicationContext.xml
<bean id="userService" class="com.louis.service.UserServiceImpl">
</bean>
10、action类添加依赖注入/crm/src/com/louis/service/impl/UserServiceImpl.java
private UserService userService; public void setUserService(UserService userService) { this.userService = userService; }
11、配置依赖注入/crm/src/applicationContext.xml
<!-- 配置用户的模块 -->
<bean id="userAction" class="com.louis.web.action.UserAction" scope="prototype">
<property name="userService" ref="userService"/>
</bean>
12、创建dao/crm/src/com/louis/dao/impl/UserDaoImpl.java
package com.louis.dao.impl; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.louis.dao.UserDao; public class UserDaoImpl extends HibernateDaoSupport implements UserDao { }
13配置dao/crm/src/applicationContext.xml
<bean id="userDao" class="com.louis.dao.UserDaoImpl">
</bean>
14、service注入dao
<bean id="userService" class="com.louis.service.UserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
private UserDao userDao; public void setUserDao(UserDao userDao) { this.userDao = userDao; }
15、配置dao的属性
<bean id="userDao" class="com.louis.dao.UserDaoImpl">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
至此,基本的项目建好了
16、创建注册页面regist.jsp
// 验证登录名 function checkCode(){ // 获取用户输入的登录名 var code = $("#user_code").val(); // 进行判断,说明没有输入登录名 if(code.trim() == ""){ // 给提示 $("#codeId").addClass("error"); $("#codeId").html("登录名不能为空"); }else{ // 登录名不为空,ajax请求,验证 var url = "${pageContext.request.contextPath}/user_checkCode.action"; var param = {"user_code":code}; $.post(url,param,function(data){ // 操作data,进行判断后台返回的是字符串,可以直接判断 if(data && data == "no"){ // 提示 $("#codeId").addClass("error"); $("#codeId").html("登录名已经存在"); }else{ $("#codeId").removeClass("error"); $("#codeId").html("可以注册"); } }); } } // 可以阻止表单的提交 function checkForm(){ // 先让校验名称的方法先执行以下 checkCode(); // 获取error的数量,如果数量 > 0,说明存在错误,不能提交表单 if($(".error").size() > 0){ return false; } }
17、/crm/src/com/louis/web/action/UserAction.java
/** * 通过登录名,判断,登录名是否已经存在 * @return */ public String checkCode(){ // 调用业务层,查询 User u = userService.checkCode(user.getUser_code()); // 获取response对象 HttpServletResponse response = ServletActionContext.getResponse(); response.setContentType("text/html;charset=UTF-8"); try { // 获取输出流 PrintWriter writer = response.getWriter(); // 进行判断 if(u != null){ // 说明:登录名查询到用户了,说明登录已经存在了,不能注册 writer.print("no"); }else{ // 说明,不存在登录名,可以注册 writer.print("yes"); } } catch (IOException e) { e.printStackTrace(); } return NONE; }
18、/crm/src/com/louis/service/UserServiceImpl.java
/** * 通过登录名进行验证 */ public User checkCode(String user_code) { return userDao.checkCode(user_code); }
19、/crm/src/com/louis/dao/UserDaoImpl.java
/** * 通过登录名进行验证 */ public User checkCode(String user_code) { List<User> list = (List<User>) this.getHibernateTemplate().find("from User where user_code = ?", user_code); if (list != null && list.size() > 0) { return list.get(0); } return null; }
问题
scope="prototype"
配置文件
ModelDriven
HibernateDaoSupport
以上是关于2创建用户模板的主要内容,如果未能解决你的问题,请参考以下文章