1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>登錄頁面</title> 8 </head> 9 <body> 10 <form action="Test1Servlet" method="post"> 11 賬戶<input type="text" name="name1"><br> 12 密碼<input type="password" name="password1"><br> 13 <input type="submit" value="登錄"> 14 </form> 15 <br> 16 <a href="Test2.jsp">新用戶注冊</a> 17 </body> 18 </html>
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>注冊頁面</title> 8 </head> 9 <body> 10 <form action="Test2Servlet" method="post"> 11 賬戶<input type="text" name="name2"><br> 12 密碼<input type="password" name="password2"><br> 13 確認密碼<input type="password" name="password3"><br> 14 <input type="submit" value="提交"> 15 </form> 16 </body> 17 </html>
1 package hanqi; 2 3 import java.io.IOException; 4 import javax.servlet.Filter; 5 import javax.servlet.FilterChain; 6 import javax.servlet.FilterConfig; 7 import javax.servlet.ServletException; 8 import javax.servlet.ServletRequest; 9 import javax.servlet.ServletResponse; 10 11 public class TestFilter implements Filter 12 { 13 public TestFilter() 14 { 15 16 } 17 18 public void destroy() 19 { 20 21 } 22 23 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException 24 { 25 response.setContentType("text/html"); 26 response.setCharacterEncoding("UTF-8"); 27 request.setCharacterEncoding("UTF-8"); 28 chain.doFilter(request, response); 29 } 30 31 public void init(FilterConfig fConfig) throws ServletException 32 { 33 34 } 35 }
1 package hanqi; 2 3 import java.io.IOException; 4 import java.sql.*; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 import org.apache.jasper.tagplugins.jstl.core.Out; 12 13 public class Test1Servlet extends HttpServlet 14 { 15 private static final long serialVersionUID = 1L; 16 17 public Test1Servlet() 18 { 19 super(); 20 } 21 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 22 { 23 String a=request.getParameter("name1"); 24 String b=request.getParameter("password1"); 25 try 26 { 27 Class.forName("oracle.jdbc.driver.OracleDriver"); 28 String strUrl = "jdbc:oracle:thin:@localhost:1521:ORCL"; 29 Connection conn = DriverManager.getConnection(strUrl, "text", "123456"); 30 Statement st=conn.createStatement(); 31 ResultSet rs=st.executeQuery("select * from zhanghu where zhanghao='"+a+"' and mima='"+b+"'"); 32 33 if(rs.next()) 34 { 35 if(a.equals(rs.getString("zhanghao"))&&b.equals(rs.getString("mima"))) 36 { 37 response.getWriter().print("登錄成功"); 38 } 39 } 40 else 41 { 42 response.getWriter().print("賬號或密碼不正確"); 43 response.setHeader("refresh","2; URL=Test1.jsp"); 44 } 45 46 rs.close(); 47 st.close(); 48 conn.close(); 49 } 50 catch(Exception e) 51 { 52 e.printStackTrace(); 53 response.getWriter().print("錯誤"+e); 54 response.setHeader("refresh","3; URL=Test1.jsp"); 55 } 56 } 57 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 58 { 59 doGet(request, response); 60 } 61 }
1 package hanqi; 2 3 import java.io.IOException; 4 import java.sql.*; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 public class Test2Servlet extends HttpServlet 12 { 13 private static final long serialVersionUID = 1L; 14 public Test2Servlet() 15 { 16 super(); 17 } 18 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 19 { 20 String a=request.getParameter("name2"); 21 String b=request.getParameter("password2"); 22 String c=request.getParameter("password3"); 23 24 if(a!=null&&b!=null&c!=null) 25 { 26 if(a.equals(a.replace(" ","?"))&&b.equals(b.replace(" ","?"))&&c.equals(c.replace(" ","?"))) 27 { 28 try 29 { 30 Class.forName("oracle.jdbc.driver.OracleDriver"); 31 String strUrl = "jdbc:oracle:thin:@localhost:1521:ORCL"; 32 Connection conn = DriverManager.getConnection(strUrl, "text", "123456"); 33 Statement st=conn.createStatement(); 34 ResultSet rs=st.executeQuery("select * from zhanghu"); 35 if(rs!=null&&rs.next()) 36 { 37 if(a.equals(rs.getString("zhanghao"))) 38 { 39 response.getWriter().print("該用戶已被注冊"); 40 response.setHeader("refresh","2; URL=Test2.jsp"); 41 } 42 else 43 { 44 if(b.equals(c)) 45 { 46 response.getWriter().print("注冊成功"); 47 PreparedStatement pst=conn.prepareStatement("insert into zhanghu(zhanghao,mima)"+"values(?,?)"); 48 pst.setString(1, a); 49 pst.setString(2, b); 50 pst.executeUpdate(); 51 response.setHeader("refresh","2; URL=Test1.jsp"); 52 } 53 else 54 { 55 response.getWriter().print("兩次密碼不一致"); 56 response.setHeader("refresh","2; URL=Test2.jsp"); 57 } 58 59 } 60 } 61 } 62 catch (Exception e) 63 { 64 response.getWriter().print("錯誤"+e); 65 e.printStackTrace(); 66 } 67 } 68 else 69 { 70 response.getWriter().print("請檢查格式是否正確"); 71 response.setHeader("refresh","2; URL=Test2.jsp"); 72 } 73 } 74 else 75 { 76 response.getWriter().print("請以正確的方式注冊賬號"); 77 response.setHeader("refresh","2; URL=Test2.jsp"); 78 } 79 } 80 81 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 82 { 83 doGet(request, response); 84 } 85 86 }