• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Jsp+Servlet实现简单登录注册查询

    本文实例为大家分享了Jsp+Servlet实现简单登录注册查询的具体代码,供大家参考,具体内容如下

    1、注册功能:

    制作一个注册页面
    用户输入:

    用户名
    密码
    年龄
    注册成功:——>跳转至登录页面进行登录
    注册失败:——>文字或其他形式的提示皆可

    2、简易查询:

    制作一个查询页面
    输入用户名
    显示该用户的用户名、密码、年龄

    演示

    1.启动进入登陆页面

    2.点击注册,进入注册页面,成功跳转到登录页面

    失败则提示

    回到登录页面,登录成功进入查询页面

    登录失败显示提示信息

    输入用户名->显示该用户的用户名、密码、年龄

    代码

    dao

    public class UserDao {
     private Connection conn = null;
     private PreparedStatement ps=null;
     private int result=0;
     private ResultSet rs=null;
    
     //用户注册
     public int register(User user){
     String sql="insert into users(name,password,age) value (?,?,?)";
     try {
     //获取数据库连接对象
     conn= JDBCUtil.getConnection();
     //获取数据库操作对象
     ps=conn.prepareStatement(sql);
     ps.setString(1,user.getName());
     ps.setString(2,user.getPassword());
     ps.setInt(3,user.getAge());
     //执行sql
     result=ps.executeUpdate();
     } catch (Exception e) {
     e.printStackTrace();
     }finally {
     JDBCUtil.close(null,ps,conn);
     }
     return result;
     }
    
     //登录验证用户信息
     public int login(String userName,String password){
     String sql ="select count(*) from users where name=? and password=?";
     try {
     conn=JDBCUtil.getConnection();
     ps=conn.prepareStatement(sql);
     ps.setString(1,userName);
     ps.setString(2,password);
     rs=ps.executeQuery();
     while (rs.next()){
     result=rs.getInt("count(*)");
     }
     } catch (Exception e) {
     e.printStackTrace();
     } finally {
     JDBCUtil.close(rs,ps,conn);
     }
     return result;
     }
    
     //根据用户名 显示用户名、密码、年龄
     public User findByName(String userName){
     String sql="select name,password,age from users where name=?";
     User user = null;
     try {
     conn=JDBCUtil.getConnection();
     ps=conn.prepareStatement(sql);
     ps.setString(1,userName);
     rs=ps.executeQuery();
     while (rs.next()){
     String name = rs.getString("name");
     String password = rs.getString("password");
     int age = rs.getInt("age");
     user = new User(name,password,age);
     }
    
     } catch (Exception e) {
     e.printStackTrace();
     }finally {
     JDBCUtil.close(null,ps,conn);
     }
     return user;
     }
    }

    entity 实体类

    public class User {
     private int id;
     private String name;
     private String password;
     private int age;
    //set...
    //get...
    //constructor...
    }

    service

    public class UserServiceImpl implements UserService {
     UserDao userDao = new UserDao();
     // 注册
     @Override
     public int register(User user) {
     return userDao.register(user);
     }
     // 登陆
     @Override
     public int login(String userName, String password) {
     return userDao.login(userName,password);
     }
    
     // 根据用户名查找信息
     @Override
     public User findByName(String userName) {
     return userDao.findByName(userName);
     }
    }

    servlet

    // FindByNameServlet
    public class FindByNameServlet extends HttpServlet {
     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     String name = request.getParameter("name");
    
     UserService userService = new UserServiceImpl();
     User user = userService.findByName(name);
    
     //将查询结果放入request作用域
     request.setAttribute("userInfo",user);
     request.getRequestDispatcher("/jsp/index.jsp").forward(request,response);
     }
    }
    
    // LoginServlet
    public class LoginServlet extends HttpServlet {
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     //1 获取
     String userName = request.getParameter("userName");
     String password = request.getParameter("password");
    
     //2 service调用dao对数据库操作
     UserService userService = new UserServiceImpl();
     int result = userService.login(userName, password);
    
     //3 成功跳转到查询页面,失败跳转到失败页面
     if (result>0){
     response.sendRedirect("/jsp/index.jsp");
     }else{
     response.sendRedirect("/login_error.html");
     }
     }
    }
    // RegisterServlet
    public class RegisterServlet extends HttpServlet {
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     UserService userService = new UserServiceImpl();
     User user = null;
     int result = 0;
     //1【调用请求对象】读取【请求头】参数信息,得到用户注册信息
     String userName, password, age;
     userName = request.getParameter("userName");
     password = request.getParameter("password");
     age = request.getParameter("age");
     user = new User(userName, password, Integer.valueOf(age));
     //2 调用userService——>userDao
     // 先查询用户是否存在
     User byName = userService.findByName(userName);
     if (byName!=null){
     request.setAttribute("info","用户已存在!");
     request.getRequestDispatcher("/jsp/register.jsp").forward(request,response);
     }
     // 注册
     result = userService.register(user);
    
     //3 设置编码格式,防止乱码
     response.setContentType("text/html;charset=utf-8");
     PrintWriter out = response.getWriter();
    
     //注册成功:——>跳转至登录页面进行登录
     //注册失败:——>注册页面提示:注册失败
     if (result == 1) {
     response.sendRedirect("/login.html");
     } else {
     request.setAttribute("info","注册失败!");
     request.getRequestDispatcher("/jsp/register.jsp").forward(request,response);
     }
     }
    }

    JDBCUtil

    public class JDBCUtil {
     private JDBCUtil(){}
     //静态代码块在类加载时执行,并且执行一次。
     static{
     try {
     Class.forName("com.mysql.cj.jdbc.Driver");
     } catch (ClassNotFoundException e) {
     e.printStackTrace();
     }
     }
     //获取数据库连接对象
     public static Connection getConnection() throws Exception{
     String url="jdbc:mysql://127.0.0.1:3306/zy?useSSL=falseserverTimezone=UTCrewriteBatchedStatements=true";
     String user="root";
     String password="rootroot";
    
     return DriverManager.getConnection(url,user,password);
     }
     /**
     *关闭资源
     * @param conn 连接对象
     * @param ps 数据库操作对象
     * @param rs 结果集
     */
     public static void close(ResultSet rs, Statement ps, Connection conn){
     if (rs != null) {
     try {
     rs.close();
     } catch (SQLException e) {
     e.printStackTrace();
     }
     }
     if (ps != null) {
     try {
     ps.close();
     } catch (SQLException e) {
     e.printStackTrace();
     }
     }
     if (conn != null) {
     try {
     conn.close();
     } catch (SQLException e) {
     e.printStackTrace();
     }
     }
     }
    }

    index.jsp

    %@ page import="entity.User" %>
    %@ page contentType="text/html;charset=UTF-8" language="java" %>
    html>
    head>
     title>查询页面/title>
    /head>
    body>
    div align="center">
     h2/>输入用户名,查询信息
     form action="/findByName" method="get">
     input type="text" name="name" id="name">
     input type="submit" value="查询">
     /form>
     %
     User userInfo = (User) request.getAttribute("userInfo");
     %>
     %
     if (userInfo != null) {
     %>
     table border="3">
     tr>
     th>用户名/th>
     th>密码/th>
     th>年龄/th>
     /tr>
     tr>
     td> nbsp; nbsp; %=userInfo.getName()%> nbsp; nbsp;/td>
     td> nbsp; nbsp; %=userInfo.getPassword()%> nbsp; nbsp;/td>
     td> nbsp; nbsp; %=userInfo.getAge()%> nbsp; nbsp;/td>
     /tr>
    
     /table>
     %
     }
     %>
    /div>
    /body>
    /html>

    register.jsp

    %@ page import="com.mysql.cj.util.StringUtils" %>
    %@ page contentType="text/html;charset=UTF-8" language="java" %>
    html>
    head>
     title>Title/title>
    /head>
    body>
    br>
    br>
    %
     String info =(String) request.getAttribute("info");
    %>
    %
     if (!StringUtils.isNullOrEmpty(info)){
    %>
     h1 style="color: red;text-align: center" >%=info%>/h1>
    %
     }
    %>
    
    div align="center">
     form action="/register" method="post">
     table border="2">
     tr>
     th>用户名/th>
     td>input type="text" name="userName"/>/td>
     /tr>
     tr>
     th>密码/th>
     td>input type="password" name="password"/>/td>
     /tr>
     tr>
     th>年龄/th>
     td>input type="text" name="age"/>/td>
     /tr>
     tr>
     td colspan="2" align="center">
      input type="submit" value="注册"/>
      input type="reset" value="清空"/>
     /td>
     /tr>
     /table>
     /form>
    /div>
    /body>
    /html>

    web.xml

    ?xml version="1.0" encoding="UTF-8"?>
    web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
     version="4.0">
     servlet>
     servlet-name>LoginServlet/servlet-name>
     servlet-class>servlet.LoginServlet/servlet-class>
     /servlet>
     servlet>
     servlet-name>RegisterServlet/servlet-name>
     servlet-class>servlet.RegisterServlet/servlet-class>
     /servlet>
     servlet>
     servlet-name>FindByNameServlet/servlet-name>
     servlet-class>servlet.FindByNameServlet/servlet-class>
     /servlet>
     servlet-mapping>
     servlet-name>LoginServlet/servlet-name>
     url-pattern>/login/url-pattern>
     /servlet-mapping>
     servlet-mapping>
     servlet-name>RegisterServlet/servlet-name>
     url-pattern>/register/url-pattern>
     /servlet-mapping>
     servlet-mapping>
     servlet-name>FindByNameServlet/servlet-name>
     url-pattern>/findByName/url-pattern>
     /servlet-mapping>
    
     !--设置默认欢迎文件规则-->
     welcome-file-list>
     welcome-file>login.html/welcome-file> !--servlet 作为默认欢迎文件 ‘/'需要去掉-->
     /welcome-file-list>
    /web-app>

    login.html

    !DOCTYPE html>
    html lang="en">
    head>
     meta charset="UTF-8">
     title>登陆界面/title>
    /head>
    body>
    div align="center">
     font size="10px" color="#00008b">用户登录/font>
     form action="/login" method="post">
    
     table border="2">
     tr>
     th>用户名/th>
     td>input type="text" name="userName"/>/td>
     /tr>
     tr>
     th>密码/th>
     td>input type="password" name="password"/>/td>
     /tr>
     tr>
     td colspan="2" align="center">
      input type="submit" value="登录"/>
      input type="reset" />
     /td>
     /tr>
     /table>
     /form>
     a href="/jsp/register.jsp" style="text-align: left">立即注册/a>
    
    
    /div>
    /body>
    /html>

    login_error.html

    !DOCTYPE html>
    html lang="en">
    head>
     meta charset="UTF-8">
     title>登录验证/title>
    /head>
    body>
    div align="center">
     font size="10px" color="#00008b">用户登录/font>br>
     font size="5px" color="red">登录信息不存在,请重新登陆!!!/font>
     form action="/login" method="post">
     table border="2">
     tr>
     th>用户名/th>
     td>input type="text" name="userName" />/td>
     /tr>
     tr>
     th>密码/th>
     td>input type="password" name="password" />/td>
     /tr>
     tr>
     td colspan="2" align="center">
      input type="submit" value="登录"/>
      input type="reset">
    
     /td>
     /tr>
     /table>
     /form>
     a href="/jsp/register.jsp" style="text-align: left">立即注册/a>
    
    /div>
    /body>
    /html>

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • JS pushlet XMLAdapter适配器用法案例解析
    • 如何将JSP/Servlet项目转换为Spring Boot项目
    • JavaScript中ES6规范中let和const的用法和区别
    • jsp学习之scriptlet的使用方法详解
    • jsp+servlet简单实现上传文件功能(保存目录改进)
    • 基于leaflet.js实现修改地图主题样式的流程分析
    • leaflet加载geojson叠加显示功能代码
    • JavaScript中let避免闭包造成问题
    上一篇:使用JSP技术实现一个简单的在线测试系统的实例详解
    下一篇:jsp cookie+session实现简易自动登录
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Jsp+Servlet实现简单登录注册查询 Jsp+Servlet,实现,简单,登录,