Struts2 + MySQL login registration, struts2 login Registration
: Http://download.csdn.net/detail/qq_33599520/9777172
Project Structure:
Code:
Package com. mstf. action; import java. util. list; import com. mstf. entiity. user; import com. mstf. service. userBiz; public class UserAction {// controller private UserBiz userBiz; private User user; private String msg; public String getMsg () {return msg;} public void setMsg (String msg) {this. msg = msg;} List <User> users; public User getUser () {return user;} public void setUser (User user User) {this. user = user;} public List <User> getUsers () {return users;} public void setUsers (List <User> users) {this. users = users;} // User Logon method public String login () {userBiz = new UserBiz (); if (userBiz. validateUser (user) return "welcome"; else {msg = "Please log on again"; return "error" ;}// user-registered public String regist () {userBiz = new UserBiz (); if (userBiz. registUser (user) return "sucess"; else {msg = "registration failed. Please log on again"; return "fall ";}} // display the 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 {// User's dao // user Logon 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.exe cuteQuery (); if (rs. next () return true;} catch (SQLException e) {e. printStackTrace () ;}return false ;}// the User registers 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.exe cuteUpdate (); if (num> 0) return true;} catch (SQLException e) {e. printStackTrace ();} return false;} // display all registered users public List <User> findAllUsers () {Connection conn = DbHelper. getConnection (); String SQL = "select * from admin"; List <User> users = new ArrayList <User> (); try {PreparedStatement pstmt = conn. prepareStatement (SQL); ResultSet rs = pstmt.exe cuteQuery (); 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"; // database address private static String userName = "root "; // database username private static String passWord = "root"; // Database passWord 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) {// test whether the database is connected to the System. err. println (getConnection ());}}
Package com. mstf. entiity; public class User {// entity class 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. se Rvlet. http. httpSession; public class LoginFilter extends HttpServlet implements Filter {// logon 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 = (HttpServletRespons E) srp; HttpSession session = request. getSession (); String url = request. getServletPath (); String contextPath = request. getContextPath (); if (url. equals ("") url + = "/"; if (url. startsWith ("/")&&! Url. startsWith ("/index. jsp ") {// if the background resource is accessed, the login String userName = (String) session is filtered. getAttribute ("userName"); if (userName = null) {// transfer to administrator login page 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 {// business layer (service layer/logic processing layer) private UserDAO userDao; // verify whether User logon is legal public boolean validateUser (user User) {userDao = new UserDAO (); // The business layer calls the specific DAO method return userDao. checkUser (user) ;}// User user registration public boolean registUser (user User user) {userDao = new UserDAO (); return userDao. saveUser (user);} // obtain the public List of all registered users <User> findAllUsers () {userDao = new UserDAO (); return userDao. findAllUsers ();}}
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <package name="test" namespace="/" extends="struts-default"> <action name="login" class="com.mstf.action.UserAction" method="login"><result name="welcome" type="redirectAction"><param name="actionName">showUsers</param></result><result name="error">/error.jsp</result></action><action name="regist" class="com.mstf.action.UserAction" method="regist"><result name="sucess">/sucess.jsp</result><result name="fall">/fall.jsp</result></action><action name="showUsers" class="com.mstf.action.UserAction" method="showUsers"><result name="welcome">/welcome.jsp</result></action> </package></struts>
<? Xml version = "1.0" encoding = "UTF-8"?> <Web-app version = "3.0" xmlns = "http://java.sun.com/xml/ns/javaee" 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"> <display-name> </display-name> <! -- Start page --> <welcome-file-list> <welcome-file> index. jsp </welcome-file> </welcome-file-list> <! -- Filter is used to initialize struts2 --> <filter-name> struts2 </filter-name> <filter-class> org. apache. struts2.dispatcher. ng. filter. strutsPrepareAndExecuteFilter </filter-class> </filter> <! -- Used for filter ing of struts2 --> <filter-mapping> <filter-name> struts2 </filter-name> <url-pattern>/* </url-pattern> </ filter-mapping> <! -- Login verification filter --> <filter-name> loginFilter </filter-name> <filter-class> com. mstf. filter. loginFilter </filter-class> </filter> <filter-mapping> <filter-name> loginFilter </filter-name> <url-pattern>/error. jsp </url-pattern> <url-pattern>/fall. jsp </url-pattern> <url-pattern>/sucess. jsp </url-pattern> <url-pattern>/welcome. jsp </url-pattern> </filter-mapping> </web-app>
<% @ Page language = "java" contentType = "text/html; charset = UTF-8" pageEncoding = "UTF-8" %> <! DOCTYPE html PUBLIC "-// W3C // dtd html 4.01 Transitional // EN" "http://www.w3.org/TR/html4/loose.dtd">
<% @ Page language = "java" contentType = "text/html; charset = UTF-8" pageEncoding = "UTF-8" %> <! DOCTYPE html PUBLIC "-// W3C // dtd html 4.01 Transitional // EN" "http://www.w3.org/TR/html4/loose.dtd">
<% @ Page language = "java" contentType = "text/html; charset = UTF-8" pageEncoding = "UTF-8" %> <! DOCTYPE html PUBLIC "-// W3C // dtd html 4.01 Transitional // EN" "http://www.w3.org/TR/html4/loose.dtd">
<% @ Page language = "java" contentType = "text/html; charset = UTF-8" pageEncoding = "UTF-8" %> <! DOCTYPE html PUBLIC "-// W3C // dtd html 4.01 Transitional // EN" "http://www.w3.org/TR/html4/loose.dtd">
<% @ Page language = "java" contentType = "text/html; charset = UTF-8" pageEncoding = "UTF-8" %> <! DOCTYPE html PUBLIC "-// W3C // dtd html 4.01 Transitional // EN" "http://www.w3.org/TR/html4/loose.dtd">
<% @ Page language = "java" contentType = "text/html; charset = UTF-8 "pageEncoding =" UTF-8 "%> <% @ taglib uri =" http://java.sun.com/jsp/jstl/core "prefix =" c "%> <! DOCTYPE html PUBLIC "-// W3C // dtd html 4.01 Transitional // EN" "http://www.w3.org/TR/html4/loose.dtd">
: Http://download.csdn.net/detail/qq_33599520/9777172