zoukankan      html  css  js  c++  java
  • JSP+JDBC+Servlet--实现简单登陆注册功能(逐步完善)

    登陆页面

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>提交页面</title>
    </head>
    <body>
    <form action="Login/DBcheck" method="post">
        登录名:<input type="text" name="username"/>
        密 码:<input type="password" name="passWd"/><br>
        <input type="submit" value="登录"/>
        <a href="Register.jsp">注册</a>
    </form>
    
    </body>
    </html>

    注册页面

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>注册页面</title>
    </head>
    <body>
    注册页面,欢迎注册<p/>
    <form action="LoginUp/Register" method="post">
        用户名<input type="text" name="username"/><br/>
        密--码<input type="password" name="passwd"/><br/>
        <input type="submit" value="完成"/>
    </form>
    
    </body>
    </html>

    登陆逻辑处理

    package Login;
    /**
     *
     *基于JSP+servlet+JDBC实现登录验证
     */
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.sql.*;
    
    public class DBcheck extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            doPost(req, resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("UTF-8");
            String name = req.getParameter("username");
            String passwd = req.getParameter("passWd");
            RequestDispatcher dis =null;
            System.out.println(name+passwd);
            try {
                try {
                    String url = "jdbc:sqlserver://localhost:1433;DataBaseName=Login;integratedSecurity=true;";
                    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                    Connection comm = DriverManager.getConnection(url);
                    String SQL = "SELECT * FROM [user] where(username=? and password =?)";//注意:表名一定要带[]
                    //结果集
                    PreparedStatement pstmt = comm.prepareStatement(SQL);
                    pstmt.setString(1,name);
                    pstmt.setString(2,passwd);
                    ResultSet rs = pstmt.executeQuery();
                    if(rs.next()){
                        if(rs!=null){
                            rs.close();
                        }
                        if(pstmt!=null){
                            pstmt.close();
                        }
                        if(comm!=null){
                            comm.close();
                        }
    //                    dis = req.getRequestDispatcher("http://localhost:8080/javaWeb_war_exploded/hello.jsp");
    //                    dis.forward(req,resp);
                        resp.sendRedirect("http://localhost:8080/javaWeb_war_exploded/hello.jsp");
                        System.out.println("hah");
                    }else{
                        if(rs!=null){
                            rs.close();
                        }
                        if(pstmt!=null){
                            pstmt.close();
                        }
                        if(comm!=null){
                            comm.close();
                        }
    //                    dis = req.getRequestDispatcher("http://localhost:8080/javaWeb_war_exploded/fruit.jsp");
    //                    dis.forward(req,resp);
                        resp.sendRedirect("http://localhost:8080/javaWeb_war_exploded/error.jsp");
                        System.out.println("ggggggggg");
                    }
    
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    注册逻辑处理

    package LoginUp;
    /**
     * 注册逻辑,通过拿到JSP页面传回来的登录名和密码,然后写入数据库中,写入成功则跳转回登陆主页
     * 于JSP+servlet+JDBC实现注册功能
     */
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    
    public class Register extends HttpServlet {
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            doPost(req, resp);
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            //设置服务器端以UTF-8编码进行输出
            resp.setCharacterEncoding("UTF-8");
            //设置浏览器以UTF-8编码进行接收,解决中文乱码问题
            resp.setContentType("text/html;charset=UTF-8");
            PrintWriter out = resp.getWriter();
            String username = req.getParameter("username");
            String passwd = req.getParameter("passwd");
            System.out.println("zheli");
            try {
                try {
                    System.out.println("here");
                    String url = "jdbc:sqlserver://localhost:1433;DataBaseName=Login;integratedSecurity=true;";
                    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                    Connection comm = DriverManager.getConnection(url);
                    String sql = "INSERT into [user] (username,password) VALUES ('"+username+"','"+passwd+"')";
                    System.out.println("a");
                    Statement st = comm.createStatement();
                    //5 执行sql语句
                    int temp =st.executeUpdate(sql);
                    System.out.println("返回的值:"+temp);
                    //6 关闭sql对象
                    st.close();
                    //7 关闭连接
                    comm.close();
                    out.println("注册成功!,将在3s内返回登陆页面。");
                    resp.setHeader("refresh","3,http://localhost:8080/javaWeb_war_exploded/tijiao.jsp");
                    System.out.println("b");
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

     
  • 相关阅读:
    单片机驱动为什么要设置为低电平有效?
    zip file closed 错误。weblogic部署项目,报错zip file closed。控制端重启weblogic正常
    常用的网络通信协议:TCP与UCP
    Oracle简单查询之多表查询。group by,where,having ,内外连接left join ,right jion,inner join,自查询
    tomcat与apache区别
    null ,request parameters:{}
    orcle数据库修改已存数据的列的数据类型
    A query was run and no Result Maps were found for the Mapped Statement 'com.wondersgroup.service.sdgl.dao.Bf62ModelMapper.findAll'. It's likely that neither a Result Type nor a Result Map was specif
    控制台打印列未定义错误
    idea项目结构旁边出现0%classes,0%lines covered
  • 原文地址:https://www.cnblogs.com/zhahu/p/11931370.html
Copyright © 2011-2022 走看看