commit e59b6dc2ddea5b0b1cb84dc9166d5c9d4e096ed6 Author: F嘉阳 Date: Fri Jan 19 15:59:41 2018 +0800 实现MVC登录,界面未完善 diff --git a/skic/.classpath b/skic/.classpath new file mode 100644 index 0000000..d21e204 --- /dev/null +++ b/skic/.classpath @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/skic/.project b/skic/.project new file mode 100644 index 0000000..ff37547 --- /dev/null +++ b/skic/.project @@ -0,0 +1,36 @@ + + + skic + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/skic/.settings/.jsdtscope b/skic/.settings/.jsdtscope new file mode 100644 index 0000000..f2f9fad --- /dev/null +++ b/skic/.settings/.jsdtscope @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/skic/.settings/org.eclipse.jdt.core.prefs b/skic/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..f42de36 --- /dev/null +++ b/skic/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/skic/.settings/org.eclipse.wst.common.component b/skic/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..f2892f9 --- /dev/null +++ b/skic/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/skic/.settings/org.eclipse.wst.common.project.facet.core.xml b/skic/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..42cf9f8 --- /dev/null +++ b/skic/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/skic/.settings/org.eclipse.wst.jsdt.ui.superType.container b/skic/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000..3bd5d0a --- /dev/null +++ b/skic/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/skic/.settings/org.eclipse.wst.jsdt.ui.superType.name b/skic/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000..05bd71b --- /dev/null +++ b/skic/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/skic/WebRoot/META-INF/MANIFEST.MF b/skic/WebRoot/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/skic/WebRoot/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/skic/WebRoot/WEB-INF/classes/.gitignore b/skic/WebRoot/WEB-INF/classes/.gitignore new file mode 100644 index 0000000..c2d9872 --- /dev/null +++ b/skic/WebRoot/WEB-INF/classes/.gitignore @@ -0,0 +1 @@ +/com/ diff --git a/skic/WebRoot/WEB-INF/classes/dbconfig.properties b/skic/WebRoot/WEB-INF/classes/dbconfig.properties new file mode 100644 index 0000000..557db23 --- /dev/null +++ b/skic/WebRoot/WEB-INF/classes/dbconfig.properties @@ -0,0 +1,4 @@ +driver=com.mysql.jdbc.Driver +db_url=jdbc\:mysql\://localhost\:3306/db_skic?useUnicode\=true&characterEncoding\=utf-8&useSSL\=true +user=skic +password=bed58b36 diff --git a/skic/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.45-bin.jar b/skic/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.45-bin.jar new file mode 100644 index 0000000..178ae79 Binary files /dev/null and b/skic/WebRoot/WEB-INF/lib/mysql-connector-java-5.1.45-bin.jar differ diff --git a/skic/WebRoot/WEB-INF/web.xml b/skic/WebRoot/WEB-INF/web.xml new file mode 100644 index 0000000..af1d2a0 --- /dev/null +++ b/skic/WebRoot/WEB-INF/web.xml @@ -0,0 +1,42 @@ + + + Scorpion king Information consulting company + + + + CheckLoginServlet + com.skic.servlet.CheckLoginServlet + + + CheckLoginServlet + /CheckLoginServlet + + + + CheckRegisterServlet + com.skic.servlet.CheckRegisterServlet + + + CheckRegisterServlet + /CheckRegisterServlet + + + + vipPermissionFilter + com.skic.filter.AdminPermissionFilter + + + vipPermissionFilter + /adminPage/* + + + + + index.html + index.htm + index.jsp + default.html + default.htm + default.jsp + + \ No newline at end of file diff --git a/skic/WebRoot/adminPage/adminJsp.jsp b/skic/WebRoot/adminPage/adminJsp.jsp new file mode 100644 index 0000000..71aac1d --- /dev/null +++ b/skic/WebRoot/adminPage/adminJsp.jsp @@ -0,0 +1,28 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% +String path = request.getContextPath(); +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> + + + + + + + My JSP 'adminJsp.jsp' starting page + + + + + + + + + + + + This is admin JSP page.
+ + diff --git a/skic/WebRoot/homepage.jsp b/skic/WebRoot/homepage.jsp new file mode 100644 index 0000000..ab6da87 --- /dev/null +++ b/skic/WebRoot/homepage.jsp @@ -0,0 +1,29 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + +主页 + + + + + + + + + + + +欢迎访问主页 + + diff --git a/skic/WebRoot/index.jsp b/skic/WebRoot/index.jsp new file mode 100644 index 0000000..f581b2a --- /dev/null +++ b/skic/WebRoot/index.jsp @@ -0,0 +1,26 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% +String path = request.getContextPath(); +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> + + + + + + + My JSP 'index.jsp' starting page + + + + + + + + + + <%response.sendRedirect("login.jsp"); %> + + diff --git a/skic/WebRoot/login.jsp b/skic/WebRoot/login.jsp new file mode 100644 index 0000000..683cd7f --- /dev/null +++ b/skic/WebRoot/login.jsp @@ -0,0 +1,121 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% +String path = request.getContextPath(); +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> + + + + + + +<%-- 登录 + + + + + + + + + + + +

登录个人档案系统

+
+ 用户名
+ 密码

+ 注册 +
+ + --%> + + + + skic用户注册 + + + + + + +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/skic/WebRoot/messagePage/error.jsp b/skic/WebRoot/messagePage/error.jsp new file mode 100644 index 0000000..32623f7 --- /dev/null +++ b/skic/WebRoot/messagePage/error.jsp @@ -0,0 +1,44 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + +错误页面 + + + + + + + + + + + +
+ 提示信息
+ <% + Object obj = request.getAttribute("msg"); + if (obj != null) { + out.println(obj.toString()); + } else { + out.println("无"); + } + %> +
+ 您提交的信息为 +
用户名:<%=request.getParameter("userName")%>
+ 密码:<%=request.getParameter("passWord1")%>
+ ">返回登录 + + + diff --git a/skic/WebRoot/messagePage/messageShow.jsp b/skic/WebRoot/messagePage/messageShow.jsp new file mode 100644 index 0000000..19df9b9 --- /dev/null +++ b/skic/WebRoot/messagePage/messageShow.jsp @@ -0,0 +1,43 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + +My JSP 'messageShow.jsp' starting page + + + + + + + + + + + +
提示信息 +
+ <% + Object obj = request.getAttribute("msg"); + if (obj != null) { + out.println(obj.toString()); + } else { + out.println("无"); + } + %> +
+ 您提交的信息为 +
用户名:<%=request.getParameter("userName")%>
+ 密码:<%=request.getParameter("passWord1")%>
+ "><%=request.getAttribute("Redirct")%> + + diff --git a/skic/WebRoot/register.jsp b/skic/WebRoot/register.jsp new file mode 100644 index 0000000..cb6e6fe --- /dev/null +++ b/skic/WebRoot/register.jsp @@ -0,0 +1,39 @@ +<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> +<% + String path = request.getContextPath(); + String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + + path + "/"; +%> + + + + + + +注册 + + + + + + + + + + + +

注册skic

+
+ 用户名
姓名
密码
确认密码
邮箱
电话
+ +
+ + diff --git a/skic/src/com/skic/DAO/UserDAO.java b/skic/src/com/skic/DAO/UserDAO.java new file mode 100644 index 0000000..51bea5c --- /dev/null +++ b/skic/src/com/skic/DAO/UserDAO.java @@ -0,0 +1,18 @@ +package com.skic.DAO; + +import java.sql.*; + +import com.skic.DTO.UserDTO; + +public interface UserDAO { + public int insert(Connection conn, UserDTO user) throws SQLException; + + public boolean update(Connection conn, long PK, UserDTO user) throws SQLException; + + public boolean delete(Connection conn, UserDTO user) throws SQLException; + + public ResultSet select(Connection conn, UserDTO user) throws SQLException; + + public ResultSet showAll(Connection conn, UserDTO user) throws SQLException; + +} diff --git a/skic/src/com/skic/DAO/impl/UserDAOimpl.java b/skic/src/com/skic/DAO/impl/UserDAOimpl.java new file mode 100644 index 0000000..d8289c0 --- /dev/null +++ b/skic/src/com/skic/DAO/impl/UserDAOimpl.java @@ -0,0 +1,77 @@ +package com.skic.DAO.impl; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import com.skic.DAO.UserDAO; +import com.skic.DTO.UserDTO; + +public class UserDAOimpl implements UserDAO { + + @Override + public int insert(Connection conn, UserDTO user) throws SQLException { + PreparedStatement pre = conn.prepareStatement("" + + "INSERT INTO tb_skicvip (col_userName, col_realName, col_passWord, col_email, col_phoneNum, col_vipFlag, col_adminFlag, col_rootFlag) VALUES(?,?,?,?,?,?,?,?)"); + pre.setString(1, user.getUserName()); + pre.setString(2, user.getRealName()); + pre.setString(3, user.getPassword()); + pre.setString(4, user.getEmail()); + pre.setString(5, user.getPhoneNum()); + pre.setInt(6, user.getVip()); + pre.setInt(7, user.getAdmin()); + pre.setInt(8, user.getRoot()); + int res = pre.executeUpdate(); + System.out.println("tb_skicvip"+res+"条记录"); + pre.close(); + return res; + } + + @Override + public boolean update(Connection conn, long PK, UserDTO user) throws SQLException { + PreparedStatement pre = conn.prepareStatement("" + + "UPDATE tb_skicvip SET col_userName=?,col_realName=?,col_passWord=?,col_email=?,col_phoneNum=?,col_vipFlag=?,col_adminFlag=?,col_rootFlag=? WHERE col_id=?"); + String col_id = String.valueOf(PK); + pre.setString(1, user.getUserName()); + pre.setString(2, user.getRealName()); + pre.setString(3, user.getPassword()); + pre.setString(4, user.getEmail()); + pre.setString(5, user.getPhoneNum()); + pre.setInt(6, user.getVip()); + pre.setInt(7, user.getAdmin()); + pre.setInt(8, user.getRoot()); + pre.setString(9, col_id); + boolean res = pre.execute(); + pre.close(); + return res; + } + + @Override + public boolean delete(Connection conn, UserDTO user) throws SQLException { + PreparedStatement pre = conn.prepareStatement("DELETE FROM tb_skicvip WHERE col_userName=?"); + pre.setString(1, user.getUserName()); + boolean res = pre.execute(); + pre.close(); + return res; + } + + @Override + public ResultSet select(Connection conn, UserDTO user) throws SQLException { + PreparedStatement pre = conn + .prepareStatement( + "SELECT col_userName, col_realName, col_passWord, col_email, col_phoneNum, col_vipFlag, col_adminFlag, col_rootFlag FROM tb_skicvip WHERE col_userName=? AND col_passWord=?"); + pre.setString(1, user.getUserName()); + pre.setString(2, user.getPassword()); + return pre.executeQuery(); + } + + @Override + public ResultSet showAll(Connection conn, UserDTO user) throws SQLException { + PreparedStatement pre = conn + .prepareStatement( + "SELECT col_userName, col_realName, col_passWord, col_email, col_phoneNum, col_vipFlag, col_adminFlag, col_rootFlag FROM tb_skicvip"); + return pre.executeQuery(); + } + +} diff --git a/skic/src/com/skic/DTO/PrimaryKey.java b/skic/src/com/skic/DTO/PrimaryKey.java new file mode 100644 index 0000000..1db16ea --- /dev/null +++ b/skic/src/com/skic/DTO/PrimaryKey.java @@ -0,0 +1,14 @@ +package com.skic.DTO; + +public class PrimaryKey { + protected long PK; + + public long getPK() { + return PK; + } + + public void setPK(long pK) { + PK = pK; + } + +} diff --git a/skic/src/com/skic/DTO/UserDTO.java b/skic/src/com/skic/DTO/UserDTO.java new file mode 100644 index 0000000..0caa641 --- /dev/null +++ b/skic/src/com/skic/DTO/UserDTO.java @@ -0,0 +1,87 @@ +package com.skic.DTO; +/** + * tb_skicvip.DTO + * @author 11860 + *字段含义参考数据字典 + */ +public class UserDTO extends PrimaryKey { + private String userName; + private String password; + private String realName; + private String email; + private String phoneNum; + private int vip = 0; + private int admin = 0; + private int root = 0; + + public String getRealName() { + return realName; + } + + public void setRealName(String realName) { + this.realName = realName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPhoneNum() { + return phoneNum; + } + + public void setPhoneNum(String phoneNum) { + this.phoneNum = phoneNum; + } + + 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 int getVip() { + return vip; + } + + public void setVip(int vip) { + this.vip = vip; + } + + public int getAdmin() { + return admin; + } + + public void setAdmin(int admin) { + this.admin = admin; + } + + public int getRoot() { + return root; + } + + public void setRoot(int root) { + this.root = root; + } + + @Override + public String toString() { + return "UserDTO [userName=" + userName + ", password=" + password + ", realName=" + realName + ", email=" + + email + ", phoneNum=" + phoneNum + ", PK=" + PK + "]"; + } + +} diff --git a/skic/src/com/skic/filter/AdminPermissionFilter.java b/skic/src/com/skic/filter/AdminPermissionFilter.java new file mode 100644 index 0000000..0bfaaba --- /dev/null +++ b/skic/src/com/skic/filter/AdminPermissionFilter.java @@ -0,0 +1,72 @@ +package com.skic.filter; + +import java.io.IOException; +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +public class AdminPermissionFilter implements Filter { + + /** + * Default constructor. + */ + public AdminPermissionFilter() { + + } + + /** + * @see Filter#destroy() + */ + public void destroy() { + + } + + /** + * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain) + */ + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + HttpServletRequest req = (HttpServletRequest)request; + HttpServletResponse resp = (HttpServletResponse)response; + String servletPathString = req.getServletPath(); + HttpSession session = req.getSession(); + String flag = (String) session.getAttribute("adminflag"); + if (servletPathString!= null + &&(servletPathString.equals("/login.jsp"))|| + (servletPathString.equals("/homepage.jsp"))|| + (servletPathString.equalsIgnoreCase("/CheckLoginServlet")) + ) + { + chain.doFilter(request, response); + }else { + if (flag!= null && flag.equals("admin")) { + chain.doFilter(request, response); + }else if (flag!=null&&flag.equals("error")) { + req.setAttribute("msg", "你不是管理员!"); + req.setAttribute("return_uri", servletPathString); + RequestDispatcher rd = req.getRequestDispatcher("/homepage.jsp"); + rd.forward(req, resp); + }else { + req.setAttribute("msg", "您尚未登录"); + req.setAttribute("return_uri", servletPathString); + RequestDispatcher rd = req.getRequestDispatcher("/login.jsp"); + rd.forward(req, resp); + } + } + + } + + /** + * @see Filter#init(FilterConfig) + */ + public void init(FilterConfig fConfig) throws ServletException { + + } + +} diff --git a/skic/src/com/skic/service/CheckLoginService.java b/skic/src/com/skic/service/CheckLoginService.java new file mode 100644 index 0000000..ec14fef --- /dev/null +++ b/skic/src/com/skic/service/CheckLoginService.java @@ -0,0 +1,48 @@ +package com.skic.service; + +import java.sql.*; + +import com.skic.DAO.UserDAO; +import com.skic.DAO.impl.UserDAOimpl; +import com.skic.DTO.UserDTO; +import com.skic.util.ConnectionFactory; + +public class CheckLoginService { + private UserDAO userdao = new UserDAOimpl(); + + public boolean CheckUser(UserDTO USERDTO) { + Connection conn = null; + + try { + conn = ConnectionFactory.getInstance().makeConnection(); + conn.setAutoCommit(false); + ResultSet resultSet1 = userdao.select(conn, USERDTO);//调用数据库查询 + conn.commit(); + if (resultSet1.next()) {//查询账号是否存在 + return true; + }else { + } + } catch (SQLException e) { + System.out.println("获取查询结果失败"); + e.printStackTrace(); + try { + System.out.println("更新数据失败,数据库回滚"); + conn.rollback(); + } catch (SQLException e1) { + System.out.println("数据库回滚失败"); + e1.printStackTrace(); + } + } finally { + if (conn != null) { + try { + conn.close(); + } catch (SQLException e) { + System.out.println("数据库关闭失败"); + e.printStackTrace(); + } + } + } + + return false; + } +} diff --git a/skic/src/com/skic/service/CheckRegisterService.java b/skic/src/com/skic/service/CheckRegisterService.java new file mode 100644 index 0000000..828845f --- /dev/null +++ b/skic/src/com/skic/service/CheckRegisterService.java @@ -0,0 +1,58 @@ +package com.skic.service; + +import java.sql.*; + +import com.skic.DAO.UserDAO; +import com.skic.DAO.impl.UserDAOimpl; +import com.skic.DTO.UserDTO; +import com.skic.util.ConnectionFactory; + +public class CheckRegisterService { + private UserDAO userdao = new UserDAOimpl(); + + public boolean AddUser(UserDTO USERDTO) { + Connection conn = null; + + try { + conn = ConnectionFactory.getInstance().makeConnection(); + conn.setAutoCommit(false); + System.out.println(USERDTO.getUserName()); + System.out.println(USERDTO.getPassword()); + int status = userdao.insert(conn, USERDTO); + conn.commit(); + if (status!=0) { + return true; + } + /*ResultSet resultSet1 = userdao.select(conn, USERDTO); + int id_log = userdao.insertLogName(conn, USERDTO); + System.out.println("id_log="+id_log); + if (resultSet1.next()) { + userdao.updateLogStatus(conn, USERDTO, "成功",id_log); + return true; + }else { + userdao.updateLogStatus(conn, USERDTO, "失败",id_log); + }*/ + } catch (SQLException e) { + System.out.println("插入数据失败"); + e.printStackTrace(); + try { + System.out.println("更新数据失败,数据库回滚"); + conn.rollback(); + } catch (SQLException e1) { + System.out.println("数据库回滚失败"); + e1.printStackTrace(); + } + } finally { + if (conn != null) { + try { + conn.close(); + } catch (SQLException e) { + System.out.println("数据库关闭失败"); + e.printStackTrace(); + } + } + } + + return false; + } +} diff --git a/skic/src/com/skic/servlet/CheckLoginServlet.java b/skic/src/com/skic/servlet/CheckLoginServlet.java new file mode 100644 index 0000000..851f8ad --- /dev/null +++ b/skic/src/com/skic/servlet/CheckLoginServlet.java @@ -0,0 +1,69 @@ +package com.skic.servlet; + +import java.io.IOException; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.skic.DTO.UserDTO; +import com.skic.service.CheckLoginService; + +public class CheckLoginServlet extends HttpServlet { + /** + * + */ + private static final long serialVersionUID = -477275992604759935L; + private CheckLoginService cks = new CheckLoginService(); + + public CheckLoginServlet() { + super(); + } + + public void destroy() { + super.destroy(); // Just puts "destroy" string in log + + } + + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doPost(request, response); + } + public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + String userName = request.getParameter("userName"); + String passWord = request.getParameter("passWord"); + RequestDispatcher rd = null; + String forwardString = null; + if (userName==null||passWord==null) { + request.setAttribute("msg", "用户名或密码为空"); + rd = request.getRequestDispatcher("/messagePage/error.jsp"); + rd.forward(request, response); + }else { + UserDTO user = new UserDTO(); + user.setUserName(userName); + user.setPassword(passWord); + boolean bool = cks.CheckUser(user); + System.out.println(bool); + if (bool) { + request.setAttribute("msg", "登录成功"); + request.setAttribute("RedirctURL", "homepage.jsp"); + request.setAttribute("Redirct", "前往主页"); + //forwardString = "/messagePage/messageShow.jsp"; + }else { + request.setAttribute("msg", "账号不存在,请注册"); + request.setAttribute("RedirctURL", "register.jsp"); + request.setAttribute("Redirct", "返回登录"); + } + forwardString = "/messagePage/messageShow.jsp"; + rd = request.getRequestDispatcher(forwardString); + rd.forward(request, response); + } + } + + public void init() throws ServletException { + + } + +} diff --git a/skic/src/com/skic/servlet/CheckRegisterServlet.java b/skic/src/com/skic/servlet/CheckRegisterServlet.java new file mode 100644 index 0000000..ce52e5e --- /dev/null +++ b/skic/src/com/skic/servlet/CheckRegisterServlet.java @@ -0,0 +1,75 @@ +package com.skic.servlet; + +import java.io.IOException; + +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.skic.DTO.UserDTO; +import com.skic.service.CheckRegisterService;; + +public class CheckRegisterServlet extends HttpServlet { + /** + * + */ + private static final long serialVersionUID = 8438869886327574209L; + private CheckRegisterService crs = new CheckRegisterService(); + + public CheckRegisterServlet() { + super(); + } + + public void destroy() { + super.destroy(); // Just puts "destroy" string in log + + } + + public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + doPost(request, response); + } + public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + String userName = request.getParameter("userName"); + String realName = request.getParameter("realName"); + String email = request.getParameter("email"); + String passWord = request.getParameter("passWord1"); + String tel = request.getParameter("tel"); + RequestDispatcher rd = null; + String forwardString = null; + if (userName==null||passWord==null) { + request.setAttribute("msg", "用户名或密码为空"); + rd = request.getRequestDispatcher("/messagePage/error.jsp"); + rd.forward(request, response); + }else { + UserDTO user = new UserDTO(); + user.setUserName(userName); + user.setPassword(passWord); + user.setRealName(realName); + user.setEmail(email);; + user.setPhoneNum(tel); + boolean bool = crs.AddUser(user); + System.out.println(bool); + if (bool) { + request.setAttribute("msg", "注册成功,请登录"); + request.setAttribute("RedirctURL", "login.jsp"); + request.setAttribute("Redirct", "前往登录"); + //forwardString = "/messagePage/messageShow.jsp"; + }else { + request.setAttribute("msg", "账号已存在,请重新注册"); + request.setAttribute("RedirctURL", "register.jsp"); + request.setAttribute("Redirct", "重新注册"); + } + forwardString = "/messagePage/messageShow.jsp"; + rd = request.getRequestDispatcher(forwardString); + rd.forward(request, response); + } + } + + public void init() throws ServletException { + + } + +} diff --git a/skic/src/com/skic/util/ConnectionFactory.java b/skic/src/com/skic/util/ConnectionFactory.java new file mode 100644 index 0000000..f550021 --- /dev/null +++ b/skic/src/com/skic/util/ConnectionFactory.java @@ -0,0 +1,48 @@ +package com.skic.util; + +import java.io.IOException; +import java.io.InputStream; +import java.sql.*; +import java.util.Properties; + +public class ConnectionFactory { + private static String driverString; + private static String dburlString; + private static String userString; + private static String pasString; + private static final ConnectionFactory FACTORY = new ConnectionFactory(); + private Connection conn; + static { + Properties prop = new Properties(); + try { + InputStream in = ConnectionFactory.class.getClassLoader().getResourceAsStream("dbconfig.properties"); + prop.load(in); + } catch (IOException e1) { + System.out.println("读取Properties文件出错"); + e1.printStackTrace(); + } + driverString = prop.getProperty("driver"); + dburlString = prop.getProperty("db_url"); + userString = prop.getProperty("user"); + pasString = prop.getProperty("password"); + } + + private ConnectionFactory() { + + } + + public static ConnectionFactory getInstance() { + return FACTORY; + } + + public Connection makeConnection() { + try { + Class.forName(driverString); + conn = DriverManager.getConnection(dburlString, userString, pasString); + } catch (Exception e2) { + System.out.println("数据库驱动加载失败"); + e2.printStackTrace(); + } + return conn; + } +} diff --git a/skic/src/com/skic/util/ConnectionFactoryTestConn.java b/skic/src/com/skic/util/ConnectionFactoryTestConn.java new file mode 100644 index 0000000..80e484d --- /dev/null +++ b/skic/src/com/skic/util/ConnectionFactoryTestConn.java @@ -0,0 +1,14 @@ +package com.skic.util; + +import java.sql.*; + +public class ConnectionFactoryTestConn { + public static void main(String[] args) throws Exception{ + Connection conn = ConnectionFactory.getInstance().makeConnection(); + if (conn.getAutoCommit()) { + System.out.println("数据库连接正常"); + }else { + System.out.println("数据库无法连接"); + } + } +} diff --git a/skic/src/dbconfig.properties b/skic/src/dbconfig.properties new file mode 100644 index 0000000..557db23 --- /dev/null +++ b/skic/src/dbconfig.properties @@ -0,0 +1,4 @@ +driver=com.mysql.jdbc.Driver +db_url=jdbc\:mysql\://localhost\:3306/db_skic?useUnicode\=true&characterEncoding\=utf-8&useSSL\=true +user=skic +password=bed58b36