基于servlet的登录验证

基于servlet登录验证

1、在建立项目工程之前,需要先将mysql 数据库连接桥放入tomcat的lib文件夹中:
基于servlet的登录验证_第1张图片
2、建立数据库:

数据库名为:web_homework

表名为: users

表结构为:
这里写图片描述

3、在项目的src文件中新建文件包model2,在包中新建java类:login_servlet.java,其中添加代码如下:

package model2;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class login_servlet extends HttpServlet {
    Dbhelper db = null;
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        //super.doPost(req, resp);
        try {
            db = new Dbhelper();
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

        resp.setContentType("text/html;charset=utf-8");
        req.setCharacterEncoding("utf-8");
        String action = req.getParameter("action");
        PrintWriter out = resp.getWriter();


        String name = req.getParameter("name");
        String password = req.getParameter("password");


            try {
                boolean flag = db.LoginCorrect(name, password);
                if (flag) {
                    out.println("

登陆成功

"
); }else { out.println("

登录失败

"
); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("name:"+name); System.out.println("password:"+password); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doGet(req, resp); } }

4、在model2包中新建数据库操作类: Dbhelper.java:


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Dbhelper {

        private Connection conn = null;
        private Statement statement = null;

        public Dbhelper() throws Exception {
            conn = getConnection();
            statement = conn.createStatement();
        }

        // 查看登录用户名和密码是否正确
        public boolean LoginCorrect(String name, String password) throws Exception {

            String sql = "select * from users where userid = '" + name + "'";
            ResultSet rs = statement.executeQuery(sql);
            // 查看是否合法
            while (rs.next()) {
                if (name.equals(rs.getString("userid"))
                        && password.equals(rs.getString("password")))
                {
                    System.out.println("登录成功");
                    return true;
                }
            }
            rs.close();
            return false;
        }



        private Connection getConnection() throws Exception {
            String driverClass = "com.mysql.jdbc.Driver";
            String url ="jdbc:mysql://localhost:3306/web_homework" ;
            String user = "root";
            String password = "";

            // 注册加载驱动
            Class.forName(driverClass);

            // 获取连接

            Connection conn = DriverManager.getConnection(url, user, password);
            System.out.println(conn);
            return conn;
        }
    }     

5、在WebContent中建立Login.jsp并添加以下代码:
注:不要再META-INF和WEB-INF中创建jsp,这两个文件默认为隐藏文件,若是在这里新建jsp通常会出现404错误。

 <%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title heretitle>
head>
<body>
    <form action=login_servlet method="post">
        用户名:<input type="text" name="name"> 密码:<input type="password"
            name="password"> <input type="submit" value="登录"> <input
            type="hidden" name="action" value="login">
    form>

body>
html>  

6、最后一步,配置web.xml


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>web_homeworkdisplay-name>
   <servlet>

        <servlet-name>login_servletservlet-name>
        <servlet-class>model2.login_servletservlet-class>

    servlet>

    <servlet-mapping>

        <servlet-name>login_servletservlet-name>
        <url-pattern>/login_servleturl-pattern>

    servlet-mapping>
web-app>  

运行程序!!!

你可能感兴趣的:(javaee)