SSH名片管理系统(三)-----SSH框架整合User模块

编程语言初相遇,一见java误终身

上篇博客我们已经完成springHibernate的整合测试,现在我们完成User类的spring和*struts2的整合 。
一、配置文件
JSP和action层的交互是由struts.xml完成的,我们在src目录下新建struts.xml
struts.xml





       
       
     
        /user/login_success.jsp
       /user/login.jsp
       /user/register_success.jsp
       /user/register.jsp
       
  

在上一篇博客的基础上,对applicationContext.xml进行改造,将UserAction交于spring管理,并在Userservice层,添加AOP事物管理。
applicationContext.xml
前面已经配置了service和dao,现在配置Action,新增配置:


    
    
     

    
    
     
   
    
    
      
      
    
    
    
  
    
    

二、JSP文件
在WebContent目录下新建user文件夹,创建user登录注册,登录成功,注册成功页面。
SSH名片管理系统(三)-----SSH框架整合User模块_第1张图片
login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@taglib uri="/struts-tags" prefix="s" %>
   
<% String path=request.getContextPath()+"/";%>




登录界面


     
      
用户登录
用户名:
密码:
未注册者,请先注册,单击注册

register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@taglib uri="/struts-tags" prefix="s" %>
<% String path=request.getContextPath()+"/";%>




注册页面


  
   

欢迎注册我们的系统,请认真填写你的信息

账户名:
为你的账户设置密码:
再次确定你的密码:
真实姓名:

login_success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <% String path=request.getContextPath()+"/";%>




登录成功


    欢迎你,${userRealName },你登入成功!!!
进入名片管理系统,请点击名片管理系统

register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <% String path=request.getContextPath()+"/";%>




注册成功!


   

恭喜,${userRealName },你成功注册了我们得管理系统


登录

三、User的action、service、dao层配置
我们在登录注册页面上可以看到,form表单提交到UserAction层的方法中处理,由struts.xml配置转发,在src目录创建UserAction.java
在这里插入图片描述
UserAction.java

package cn.itcast.action.user;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

import cn.itcast.model.user.User;
import cn.itcast.service.user.UserService;

@SuppressWarnings("serial")
public class UserAction extends ActionSupport implements ModelDriven {
     //封装数据
	public String forward;
	public String msg;
	private User user=new User();
	public User getModel(){
		return this.user;
	}
	//引用servicer层
	private UserService userService;
	public void setUserService(UserService userService) {
		this.userService = userService;
	}
	
	public String register(){
		User user1=this.userService.find(user);
		if(user1.getUserName()!=null){
    		msg="该用户已经存在,请重新注册";
    		forward="registererror";
    	}else{
            this.userService.save(user);
            forward="registersuccess";
    	}
		return forward;
    }
	
	public String login(){
		User user2=this.userService.find(user);
    	if(user2.getUserName()!=null){
    		forward="loginsuccess";
    		user.setUserRealName(user2.getUserRealName());
    	}else{
    		msg="用户不存在或密码不正确,登录失败,请重新登录或注册";
    		forward="loginerror";
    	}
		return forward;
	}
	
}

UserAction-register-validation.xml,这个是strut2框架的专属表单验证文件



  

	
		
			true	
			用户名不能为空
		
	
		
			用户格式不正确!
		
	
		
		
	
		
			true
			密码不能为空
		
		
		
			6
			密码长度不能少于6位
		
	
		
		
	
		
			确认密码不能为空
		
		
		    
		     密码不一致!
		
	
	

同理,我们再创建Userservice、Userdao层方法
在这里插入图片描述
UserService.java
这里只提供增查方法

package cn.itcast.service.user;


import cn.itcast.model.user.User;

public interface UserService {
	public User find(User user);
	public void save(User user);
}

UserServiceImpl.java

package cn.itcast.service.user;

import cn.itcast.dao.user.UserDao;
import cn.itcast.model.user.User;

public class UserServiceImpl implements UserService {

	private UserDao userDao;
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}

	@Override
	public User find(User user) {
		// TODO Auto-generated method stub
		User user2=this.userDao.find(user);
        return user2;
	}

	@Override
	public void save(User user) {
		// TODO Auto-generated method stub
    	this.userDao.save(user);
	}

}

UserDao
在这里插入图片描述
UserDao.java

package cn.itcast.dao.user;

import cn.itcast.model.user.User;

public interface UserDao {

	public void save(User user);
	public User find(User user);
}

UserDaoImpl.java

package cn.itcast.dao.user;



import java.util.List;

import org.hibernate.Session;
import org.hibernate.query.Query;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;


import cn.itcast.model.user.User;

public class UserDaoImpl extends HibernateDaoSupport implements UserDao {

	@Override
	public void save(User user) {
		// TODO Auto-generated method stub
       this.getHibernateTemplate().save(user);
	} 

	@Override
	public User find(User user) {
		// TODO Auto-generated method stub
		User user3=new User();
		Session session=this.getHibernateTemplate().getSessionFactory().getCurrentSession();
		String hql="from User where userName=?0 and userPassword=?1";
		Query query=session.createQuery(hql);
		                 query.setParameter(0,user.getUserName());
		                 query.setParameter(1,user.getUserPassword());
		@SuppressWarnings("unchecked")
		Listlist=query.list();
		if(list != null && list.size() > 0){
		      user3 = list.get(0);             
		}
		return user3;
	}	
}

下面,编写入口代码index.jsp启动项目,来测试一下。
index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<% String path=request.getContextPath()+"/";%>

主界面

  

名片管理系统

用户管理登录系统 用户名片查询主页面

SSH名片管理系统(三)-----SSH框架整合User模块_第2张图片
点击用户管理登录系统,跳转到用户登录界面,点击登录,显示需要注册
SSH名片管理系统(三)-----SSH框架整合User模块_第3张图片
注册信息
SSH名片管理系统(三)-----SSH框架整合User模块_第4张图片
注册成功,到数据库查看信息,跳转到注册成功页面,点击登录
在这里插入图片描述
SSH名片管理系统(三)-----SSH框架整合User模块_第5张图片
登录成功
在这里插入图片描述

具体操作流程如上所述,下篇博客带来Card模块的增删改查,批量删除,模糊查询,信息以Excel表格方式导入导出

总结

路是一步步走出来的,大家共勉。

你可能感兴趣的:(SSH框架学习)