简易的Servlet登录案例

案例介绍

用户需录入用户名与密码,在数据库查询,若没有,告知用户登陆失败;若有,告知用户登陆成功

1.创建一个tomcat项目

简易的Servlet登录案例_第1张图片

2.将所需的jar包(c3p0,connection-dbutils,mysql-connector)放在WEB-INF的lib文件夹下

简易的Servlet登录案例_第2张图片

3.在src目录下创建dao,service,servlet文件夹

简易的Servlet登录案例_第3张图片

4.将C3P0的数据库配置文件放在src目录下,将DataSource文件放在src的utils文件夹下。

简易的Servlet登录案例_第4张图片
DataSource文件内容:
简易的Servlet登录案例_第5张图片

5.将静态资源放在web文件夹下

6.在servlet创建LoginServlet文件

package com.login.servlet;

import com.login.service.LoginService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "LoginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //设置响应头,防止乱码
        response.setHeader("content-type", "text/html;charset=utf-8");
       //对请求过来的数据防止乱码
        request.setCharacterEncoding("UTF-8");
        //1.获取用户请求的用户名与密码
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println(username + "  " + password);
        // 创建LoginService
        LoginService loginService = new LoginService();
        //调用service中的方法
        int i = loginService.GetUser(username, password);
        //根据返回的对象,判断提示的内容
        if (i == 0) {
            response.getWriter().println("error");
        } else {
            response.getWriter().println(username + ":come on");
        }
    }
}

7.设置web.xml文件

   <servlet>
        <servlet-name>LoginServletservlet-name>
        <servlet-class>com.login.servlet.LoginServletservlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>LoginServletservlet-name>
       
        <url-pattern>/loginurl-pattern>
    servlet-mapping>

8.在service文件夹创建LoginService 文件

package com.login.service;

import com.login.dao.LoginDao;

public class LoginService {
    public int GetUser(String username, String password) {
        LoginDao loginDao = new LoginDao();
        int i = loginDao.getUserSql(username, password);
        return i;
    }
}

9.在dao层创建LoginDao文件

public class LoginDao {
    public int getUserSql(String username, String password) {
        QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());

        int j = 0;
        try {
            String sql = "select * from users where unam=? and upass=?";
            Object[] obj = qr.query(sql, new ArrayHandler(), username, password);
            if (obj != null) {
                j = 1;
            } else {
                j = 0;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return j;
    }
}

10.静态资源的login.html

<form class="form-horizontal" action="/testJavaWeb_war_exploded/login" method="post">
  <input type="text" class="form-control" name="username" id="username" placeholder="请输入用户名">
  <input type="password" class="form-control" name="password" id="inputPassword3" placeholder="请输入密码">
  <input type="submit"  width="100" value="登录" name="submit">
form>

你可能感兴趣的:(简易的Servlet登录案例)