zoukankan      html  css  js  c++  java
  • 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="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="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
  • 相关阅读:
    [转]script之defer&async
    css3渐变gradient
    [转]提高 web 应用性能之 CSS 性能调优
    [转]深入了解 CSS3 新特性
    进程中t.start(), t.daemon() t.jion()的使用
    创建进程
    进程与进程之间通信Manager
    简版线程池
    Python上下文管理
    绝版线程池
  • 原文地址:https://www.cnblogs.com/hpulfc/p/4671836.html
Copyright © 2011-2022 走看看