javaweb03 使用severlet完成登录功能02

javaweb02 使用severlet完成登录功能01
在建立好连接数据库以及对数据库进行查询的Dao类之后,开始写servlet文件

package controller;

import dao.UsersCrudDao;

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 javax.swing.*;
import java.io.IOException;
import java.sql.SQLException;

//处理登录
//首先通过注解的方式绑定页面,在这里 需要3.0以上的版本才支持注解的方式设置servlet
@WebServlet(urlPatterns = "/toLogin")
//继承HttpServlet 类 使得从普通类变为servlet类
public class LoginServlet extends HttpServlet {
//定义一个变量存储结果
    Integer result;
    //重写service方法,service方法的好处是既可以处理post请求也可以处理get请求
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置中文编码
        req.setCharacterEncoding("UTF-8");
        //接收数据
        String name=req.getParameter("username");
        String pwd=req.getParameter("password");
        //建立一个usersCrudDao对象,查询出结果
        UsersCrudDao usersCrudDao=new UsersCrudDao(name,pwd);
        try {
        //将查询结果返回给result
            result=usersCrudDao.selectStudent();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        //根据查询结果值不同进入不同页面,在这里只是原理演示,如果result等于0或1或2则分别为超级用户、普通用户、管理员用户
        if (result==0){
        //使用重定向的方法 跳转到对应的页面
            resp.sendRedirect("index.jsp");
        }else if (result==1){
            resp.sendRedirect("index.jsp");
        }else if (result==2){
            resp.sendRedirect("index.jsp");
        }else {
        //如果查询结果不为0、1、2,则表明在用户名错误或者密码错误,返回错误提示界面
            resp.sendRedirect("error.jsp");
        }


    }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JavaWeb图书馆管理系统的登录功能代码实现可以分为以下几个步骤: 1. 创建数据库表格,存储用户信息,包括用户名和密码等信息。 2. 在JavaWeb项目中创建一个登录页面,包括用户名和密码输入框以及登录按钮。 3. 在后台Java代码中,获取用户输入的用户名和密码信息。 4. 将用户输入的密码进行加密处理,然后与数据库中存储的密码进行比对。 5. 如果用户名和密码匹配,则登录成功,否则登录失败。 下面是一个简单的JavaWeb登录功能代码实现示例: ``` // 获取用户输入的用户名和密码 String username = request.getParameter("username"); String password = request.getParameter("password"); // 对密码进行加密处理 String encryptedPassword = encrypt(password); // 查询数据库中是否存在该用户 String sql = "SELECT * FROM user WHERE username = ? AND password = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, username); pstmt.setString(2, encryptedPassword); ResultSet rs = pstmt.executeQuery(); // 判断是否登录成功 if (rs.next()) { // 登录成功,跳转到主页面 response.sendRedirect("main.jsp"); } else { // 登录失败,返回登录页面并提示错误信息 request.setAttribute("error", "用户名或密码错误"); request.getRequestDispatcher("login.jsp").forward(request, response); } ``` 其中,`encrypt`方法是对密码进行加密处理的方法,可以使用常见的加密算法,如MD5等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值