struts2注释mysql_Struts2+MySQL登录注册

下载地址:http://download.csdn.net/detail/qq_33599520/9777172

项目结构图:

2aadb17d7bae8650059b63a1be321d98.png

代码:

package com.mstf.action;

import java.util.List;

import com.mstf.entiity.User;

import com.mstf.service.UserBiz;

public class UserAction { // 控制器

private UserBiz userBiz;

private User user;

private String msg;

public String getMsg() {

return msg;

}

public void setMsg(String msg) {

this.msg = msg;

}

List users;

public User getUser() {

return user;

}

public void setUser(User user) {

this.user = user;

}

public List getUsers() {

return users;

}

public void setUsers(List users) {

this.users = users;

}

// 用户登录的方法

public String login(){

userBiz = new UserBiz();

if(userBiz.validateUser(user))

return "welcome";

else{

msg = "请重新登陆";

return "error";

}

}

// 用户注册的方法

public String regist(){

userBiz = new UserBiz();

if(userBiz.registUser(user))

return "sucess";

else{

msg = "注册失败,请重新登陆";

return "fall";

}

}

// 显示所有注册用户的方法

public String showUsers(){

userBiz = new UserBiz();

users = userBiz.findAllUsers();

return "welcome";

}

}

package com.mstf.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import com.mstf.db.DbHelper;

import com.mstf.entiity.User;

public class UserDAO { // 用户的dao

// 用户登录

public boolean checkUser(User user){

Connection conn = DbHelper.getConnection();

String sql = "select * from admin where `userName`=? and `passWord`=?";

try {

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1, user.getUserName());

pstmt.setString(2, user.getPassWord());

ResultSet rs = pstmt.executeQuery();

if(rs.next())

return true;

} catch (SQLException e) {

e.printStackTrace();

}

return false;

}

// 用户注册

public boolean saveUser(User user){

Connection conn = DbHelper.getConnection();

String sql = "insert into admin values(null,?,?)";

try {

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1, user.getUserName());

pstmt.setString(2, user.getPassWord());

int num = pstmt.executeUpdate();

if(num>0)

return true;

} catch (SQLException e) {

e.printStackTrace();

}

return false;

}

// 显示所有注册用户

public List findAllUsers(){

Connection conn = DbHelper.getConnection();

String sql = "select * from admin";

List users = new ArrayList();

try {

PreparedStatement pstmt = conn.prepareStatement(sql);

ResultSet rs = pstmt.executeQuery();

while(rs.next()){

User user = new User();

user.setId(rs.getInt("id"));

user.setUserName(rs.getString("userName"));

user.setPassWord(rs.getString("passWord"));

users.add(user);

}

} catch (SQLException e) {

e.printStackTrace();

}

return users;

}

}

package com.mstf.db;

import java.sql.Connection;

import java.sql.DriverManager;

public class DbHelper {

private static String url = "jdbc:mysql://localhost:3306/test"; //数据库地址

private static String userName = "root"; //数据库用户名

private static String passWord = "root"; //数据库密码

private static Connection conn;

private DbHelper(){

}

public static Connection getConnection(){

if(null == conn){

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(url, userName, passWord);

} catch (Exception e) {

e.printStackTrace();

}

}

return conn;

}

public static void main(String[] args) { //测试数据库是否连通

System.err.println(getConnection());

}

}

package com.mstf.entiity;

public class User { // 实体类

private int id;

private String userName;

private String passWord;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getPassWord() {

return passWord;

}

public void setPassWord(String passWord) {

this.passWord = passWord;

}

public User(){

}

}

package com.mstf.filter;

import java.io.IOException;

import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

public class LoginFilter extends HttpServlet implements Filter { // 登录过滤器

private static final long serialVersionUID = 1L;

public void destroy() {

}

public void doFilter(ServletRequest srq, ServletResponse srp, FilterChain filterChain) throws IOException, ServletException{

HttpServletRequest request = (HttpServletRequest) srq;

HttpServletResponse response = (HttpServletResponse) srp;

HttpSession session = request.getSession();

String url=request.getServletPath();

String contextPath=request.getContextPath();

if(url.equals("")) url+="/";

if((url.startsWith("/")&&!url.startsWith("/index.jsp"))){//若访问后台资源 过滤到login

String userName=(String)session.getAttribute("userName");

if(userName==null){//转入管理员登陆页面

response.sendRedirect(contextPath+"/index.jsp");

return;

}

}

filterChain.doFilter(srq, srp);

}

public void init(FilterConfig arg0) throws ServletException {

}

}

package com.mstf.service;

import java.util.List;

import com.mstf.dao.UserDAO;

import com.mstf.entiity.User;

public class UserBiz { // 业务层(服务层/逻辑处理层)

private UserDAO userDao;

// 验证用户登录是否合法

public boolean validateUser(User user){

userDao = new UserDAO();

// 业务层调用DAO的具体方法

return userDao.checkUser(user);

}

// 用户用户注册

public boolean registUser(User user){

userDao = new UserDAO();

return userDao.saveUser(user);

}

// 获得所有注册用户

public List findAllUsers(){

userDao = new UserDAO();

return userDao.findAllUsers();

}

}

/p>

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

showUsers

/error.jsp

/sucess.jsp

/fall.jsp

/welcome.jsp

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

index.jsp

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

/*

loginFilter

com.mstf.filter.LoginFilter

loginFilter

/error.jsp

/fall.jsp

/sucess.jsp

/welcome.jsp

pageEncoding="UTF-8"%>

登录失败

用户名或密码错误!请重新登录。

返回后台管理首页

pageEncoding="UTF-8"%>

注册失败

很遗憾,注册失败!

返回后台管理首页

pageEncoding="UTF-8"%>

后台管理
帐号:
密码:

注册

pageEncoding="UTF-8"%>

用户注册
帐号:
输入密码:

返回登录

pageEncoding="UTF-8"%>

注册成功

恭喜您,${user.userName }注册成功!

返回后台管理首页登录

pageEncoding="UTF-8"%>

欢迎登录

欢迎${user.userName }登录成功!

已经注册的用户:

ID:

用户名:

密码:

${user.id }

${user.userName }

${user.passWord }

返回后台管理首页

下载地址:http://download.csdn.net/detail/qq_33599520/9777172

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值