web项目.注册及登陆

注册与登陆

 

注册:

 首先 需要新建web项目,对数据库操作的服务(与需求有关),模型(与数据库表有关),工具包(DBOperator).

 servlet 的类用来从前台活取数据,选择要做的事情,然后判断重定向到何处.

 主要是doPost方法,和doGet方法

 设置编码

  request.setCharacterEncoding("UTF-8");
  request.setCharacterEncoding("UTF-8");

 从前台活取数据

  String name = request.getParameter("name");
  String pwd = request.getParameter("password");

  也即从传过来的参数获取数据

 将数据写入数据库

  user usr = new user();

  usr.setName(name);

  usr.setPassword(pwd);              //建立数据库模型对象即学生对象

  StuManager stuM = new StuManagerimplement();//管理数据库

  boolean flag=false;                //标志,是否成功写入

  flag = stuM.add(usr);               //注意异常的处理,此处可能抛出异常.

 跳转页面(重定向)

  response.sendRedirect("index.jsp");

 

登陆:流程基本类似:

从前台活取数据,

传入数据库管理方法,并且在管理方法内返回是否登陆成功的标志.

根据返回的标志,通过servlet 判断重定向到制定页面.

 

代码如下:

DBOperator.java 略

stuManagerImplement.java

 1 package cn.hpu.service;
 2 
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import java.sql.Statement;
 8 
 9 import cn.hpu.model.user;
10 import cn.hpu.util.DBOperator;
11 
12 public class StuManagerimplement implements StuManager {
13 
14     @Override
15     public boolean add(user usr) {
16         // TODO Auto-generated method stub
17         boolean flag=false;
18         Connection con =null;
19         PreparedStatement pst=null;
20         String sql=null;
21         
22         
23         try {
24             con=DBOperator.getConnection();
25 //            System.out.println("YES");
26 //            if(con!=null) System.out.println("OKOKO");
27             sql = "insert into user (name,password) values(?,?)";
28             pst = con.prepareStatement(sql);
29             pst.setString(1, usr.getName());
30             pst.setString(2, usr.getPassword());
31             
32             int rows = pst.executeUpdate();
33             if(rows>0) flag =true;
34             
35         } catch (SQLException e) {
36             // TODO Auto-generated catch block
37             System.out.println("insert exception !");
38             e.printStackTrace();
39         }finally{
40             DBOperator.close(pst, con);
41         }
42         return flag;
43     }
44 
45     @Override
46     public boolean check(String name, String psw) {
47         // TODO Auto-generated method stub
48         //sql语句指针变量的声明
49         boolean flag =false ;
50         Statement st=null;
51         ResultSet rt = null;
52         user usr=new user();
53         String sql=null;
54         Connection con = null;
55         
56         try {
57             con = DBOperator.getConnection();         //查询
58             sql ="select * from user where name="+name;
59             st= con.createStatement();
60             rt = st.executeQuery(sql);
61 //            System.out.println(rt.getString("name"));
62             if(rt.next())
63             {
64                 usr.setName(rt.getString("name"));
65                 usr.setPassword(rt.getString("password"));
66                 
67             }
68             System.out.println(usr.getName()+usr.getPassword());
69             String str = usr.getPassword();
70             if(psw.equals(str)) flag =true;    //验证
71             
72         } catch (Exception e) {
73             // TODO: handle exception
74             System.out.println("check exception !");
75         }finally {
76             DBOperator.close(rt, st, con);        //关闭
77         }
78         return flag;
79     }
80 
81 }

 

servlet 程序

register.java

 1 package cn.hpu.servlet;
 2 
 3 import java.io.IOException;
 4 import javax.servlet.ServletException;
 5 import javax.servlet.annotation.WebServlet;
 6 import javax.servlet.http.HttpServlet;
 7 import javax.servlet.http.HttpServletRequest;
 8 import javax.servlet.http.HttpServletResponse;
 9 
10 import org.apache.catalina.connector.Response;
11 
12 import cn.hpu.model.user;
13 import cn.hpu.service.StuManager;
14 import cn.hpu.service.StuManagerimplement;
15 
16 /**
17  * Servlet implementation class register
18  */
19 @WebServlet("/register")
20 public class register extends HttpServlet {
21     private static final long serialVersionUID = 1L;
22        
23     /**
24      * @see HttpServlet#HttpServlet()
25      */
26     public register() {
27         super();
28         // TODO Auto-generated constructor stub
29     }
30 
31     /**
32      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
33      */
34     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
35         // TODO Auto-generated method stub
36         response.getWriter().append("Served at: ").append(request.getContextPath());
37         doPost(request, response);
38     }
39 
40     /**
41      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
42      */
43     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
44         // TODO Auto-generated method stub
45 //        doGet(request, response);
46         //设置中文
47         request.setCharacterEncoding("UTF-8");            
48         response.setCharacterEncoding("UTF-8");
49         
50         //获取数据
51         String name = request.getParameter("name");
52         String pwd = request.getParameter("password");
53 //        String code = request.getParameter("code");
54         
55         user usr = new user();
56         usr.setName(name);
57 //        usr.setCode(code);
58         usr.setPassword(pwd);
59         
60         StuManager stuM = new StuManagerimplement();
61         boolean flag= false ;
62         try {
63             flag = stuM.add(usr);
64             if(flag) response.sendRedirect("index.jsp");
65             
66         } catch (Exception e) {
67             // TODO: handle exception
68         }
69         }
70 
71 }
View Code

 

login.java

 1 package cn.hpu.servlet;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 import javax.servlet.ServletException;
 7 import javax.servlet.annotation.WebServlet;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 import cn.hpu.service.StuManager;
13 import cn.hpu.service.StuManagerimplement;
14 
15 /**
16  * Servlet implementation class login
17  */
18 @WebServlet("/login")
19 public class login extends HttpServlet {
20     private static final long serialVersionUID = 1L;
21        
22     /**
23      * @see HttpServlet#HttpServlet()
24      */
25     public login() {
26         super();
27         // TODO Auto-generated constructor stub
28     }
29 
30     /**
31      * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
32      */
33     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
34         // TODO Auto-generated method stub
35         response.getWriter().append("Served at: ").append(request.getContextPath());
36         doPost(request, response);
37     }
38 
39     /**
40      * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
41      */
42     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
43         // TODO Auto-generated method stub
44 //        doGet(request, response);
45         request.setCharacterEncoding("UTF-8");
46         request.setCharacterEncoding("UTF-8");
47         
48         String name = request.getParameter("name");
49         String pwd = request.getParameter("password");
50         
51         StuManager stuM = new StuManagerimplement();
52         boolean flag= false ;
53         
54         try {
55             flag = stuM.check(name,pwd);
56             if(flag) response.sendRedirect("loginsuccess.jsp");
57         } catch (Exception e) {
58             // TODO: handle exception
59             response.setContentType("text/html");
60             PrintWriter out = response.getWriter();
61             out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
62             out.println("<HTML>");
63             out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
64             out.println("  <BODY>");
65             out.println("<h1>");
66             out.println("用户名或密码错误登录失败!!");
67             out.println("<h1>");
68             out.println("  </BODY>");
69             out.println("</HTML>");
70             out.flush();
71             out.close();
72         }
73     }
74 
75 }
View Code

index.jsp

 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>Insert title here</title>
 8 </head>
 9 <body>
10    <form action="login" method="post" align="center">
11         <cneter><h1>用户信息管理系统</h1></cneter>
12         <b>用户名:</b><input type="text" name="name"><br>
13         <p></p>
14         <b>&nbsp;&nbsp;码:</b><input type="password" name="password"><br>
15     
16         <font  size="+1"  >
17         <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
18             <input name="submit"  type="submit" class="button"  style="width:200px; height:35px " value="登录" />
19         </p>
20           <p><font  size="-1"  color="#000099">&nbsp;&nbsp;&nbsp;&nbsp; 忘记密码?</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font  size="-1"  color="#000099"><a href="register.jsp">新用户</a> </font> </p>
21           </font>
22         
23         </form>
24  
25   </body>
26 </html>
View Code

register.jsp

 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>Insert title here</title>
 8 </head>
 9 <body>
10    <h1 align="center">注册新用户</h1>
11      <hr/>
12     <form action="register" method="post"  align="center" >
13                用户名:<input name="name" type="text"/><br/>
14         <p></p>
15&nbsp;码:<input name="password" type="password"/><br/>
16         <p></p>
17          验证码:<input name="code" type="text"><br/> 
18         <p></p>
19       <input type="submit" style="width:80px; height:35px "value="注册" /> 
20     </form>
21         <a href="index.jsp">返回 </a>
22   </body>
23 </html>
View Code

loginsuccess.jsp

 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>Insert title here</title>
 8 </head>
 9 <body>
10 <h1>恭喜登录成功!!</h1>
11 </body>
12 </html>
View Code

 

posted on 2015-07-23 21:26  lfc0  阅读(1829)  评论(0编辑  收藏  举报