一、前言
昨天实现了登录注册功能。
今天修改了登录注册功能,美化页面。遇到的问题,注册登录成功之后用户id的传递出现问题,对服务端servlet进行了修改。
明天对页面进行美化。
二、成果展示
三、代码
LoginServlet.java

package Servlet; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Dao.UserDao; @WebServlet("/login") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; public LoginServlet() { super(); // TODO Auto-generated constructor stub } UserDao dao = new UserDao(); String table="user";//数据库中的表名 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); String username = req.getParameter("username"); String password = req.getParameter("password"); boolean b =dao.login(table,username); boolean bb=dao.login2(table,username, password); String message=""; if(b) { if(bb) { int t=dao.login3(table, username); message+=t; }else { message="密码错误"; } } else { message="该用户名不存在"; } try { resp.getWriter().println(message); System.out.println(message); // 将消息传给客户端 } catch (Exception e) { e.printStackTrace(); } finally { resp.getWriter().close(); // 关闭这个流,不然会发生错误的 } } }
RServlet.java

package Servlet; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import Dao.UserDao; @WebServlet("/register") public class RServlet extends HttpServlet { private static final long serialVersionUID = 1L; public RServlet() { super(); // TODO Auto-generated constructor stub } UserDao dao = new UserDao(); String table="user";//数据库中的表名 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); System.out.println("request--->"+req.getRequestURL()+"===="+req.getParameterMap().toString()); String username = req.getParameter("username"); String password = req.getParameter("password"); String message=""; if(username!=null||password!=null) { boolean b =dao.login(table,username); if(!b) { dao.register(table,username,password); message="注册成功"; } else { message="该用户名已注册"; } } try { resp.getWriter().println(message); System.out.println(message); // 将消息传给客户端 } catch (Exception e) { e.printStackTrace(); } finally { resp.getWriter().close(); // 关闭这个流,不然会发生错误的 } } }
UserDao.java

package Dao; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import util.DBUtil; public class UserDao { public void register(String table,String username,String password) { String sql = "insert into "+table+" (username,password) values('" + username +"','" + password + "')"; Connection conn = DBUtil.getConn(); Statement state = null; int a = 0; try { state = conn.createStatement(); a=state.executeUpdate(sql); } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(state, conn); } } public boolean login(String table,String username) { // TODO Auto-generated method stub String sql = "select * from "+table+" where username ='" + username + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; boolean b=false; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { b=true; } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return b; } public boolean login2(String table,String username, String password) { // TODO Auto-generated method stub String sql = "select * from "+table+" where username ='" + username + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; boolean b=false; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { if(password.equals(rs.getString("password"))) { b=true; } } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return b; } public int login3(String table,String username) { // TODO Auto-generated method stub String sql = "select * from "+table+" where username ='" + username + "'"; Connection conn = DBUtil.getConn(); Statement state = null; ResultSet rs = null; int id = 0; try { state = conn.createStatement(); rs = state.executeQuery(sql); while (rs.next()) { id = rs.getInt("userid"); } } catch (Exception e) { e.printStackTrace(); } finally { DBUtil.close(rs, state, conn); } return id; } }
四、今日团队链接