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=false&serverTimezone=UTC&rewriteBatchedStatements=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>

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

(0)

相关推荐

  • 使用JSP实现简单的用户登录注册页面示例代码解析

    实验要求: 将实验2中的系统用户登录和注册页面改为JSP页面,并部署自己的Web应用于Tomcat服务器中 具体要求: 完成登录JSP页面设计和注册页面设计 在登录页面表单中使用request对象获取用户信息,建立新的JSP页面完成登录验证(用户名和密码自己指定即可). 验证结果显示(如登录成功/用户名密码错误,可以使用JavaScript,也可以使用新的JSP页面). 在注册页面表单中使用request对象获取用户注册信息(注册项目由自己指定),在新的JSP页面显示用户注册信息,并提示注册成功

  • JSP+MySQL实现网站的登录与注册小案例

    为了练手,我就自己试着做了一个网站的登录与注册的小案例.由于没有做美化处理,所以界面并不是很好看. 网站实现的功能如下:  •用户首次注册功能  •用户登录功能 下面我将会分模块展示 注册模块 首先需要一个注册界面,如下register.jsp: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOC

  • JSP实现用户登录、注册和退出功能

    本文讲述使用JSP实现用户登录,包括用户登录.注册和退出功能等. 1.系统用例图 2.页面流程图 3.数据库设计 本例使用oracle数据库 创建用户表 包括id,username,password和email,共4个字段 -- Create table create table P_USER ( id VARCHAR2(50) not null, username VARCHAR2(20), password VARCHAR2(20), email VARCHAR2(50) ) tablesp

  • 在jsp中用bean和servlet联合实现用户注册、登录

    声明:作者原创,版权所有.未经授权,不得转载 在jsp中用bean和servlet联合实现用户注册.登录 作者:imagebear版权:imagebear 本例需要的软件和运行环境:1.Windows2000 Server操作系统2.jdk1.43.JCreator2.5(java源码编辑调试器,吐血推荐!)4.Macromedia JRun MX5.Macromedia Dreamweaver MX(非必需)6.MySQL数据库(最好安装MySQL Control Center) 一.数据库设

  • Servlet+JavaBean+JSP打造Java Web注册与登录功能

    采用Java Web所实现的MVC结构图如下,其中控制器部分采用Servlet来实现,模型部分采用JavaBean来实现,而大部分的视图采用Jsp页面来实现. 思想基础 JSP+JavaBean两层结构工作原理应该是比较熟悉的,也比较好理解. 但是有一点必须要清楚就是用户通过浏览器来发送网页的请求,此请求到达服务器后在服务器端查找对应的网页,如果是首次请求(第二次就不用解释执行了),对于JSP来说要生成Servlet,然后通过Servlet引擎来执行 Servlet,把调用JavaBean的结果

  • JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

  • jsp基于XML实现用户登录与注册的实例解析(附源码)

    简单的基于xml做数据库的登录与注册 主题介绍: 1.xml的读取和存储,主要是用到dom4j技术,(网络中的文件存储路径采用classLoader) 文件的读取和存储,写了一个工厂类 public class DocumentFactory { private static Document dom=null;//需要共享一个dom,所以需要设置为static private static String name="user.xml"; private static String f

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

    本文实例为大家分享了Jsp+Servlet实现简单登录注册查询的具体代码,供大家参考,具体内容如下 1.注册功能: 制作一个注册页面 用户输入: 用户名 密码 年龄 注册成功:-->跳转至登录页面进行登录 注册失败:-->文字或其他形式的提示皆可 2.简易查询: 制作一个查询页面 输入用户名 显示该用户的用户名.密码.年龄 演示 1.启动进入登陆页面 2.点击注册,进入注册页面,成功跳转到登录页面 失败则提示 回到登录页面,登录成功进入查询页面 登录失败显示提示信息 输入用户名->显示该

  • jsp+servlet实现简单登录页面功能(附demo)

    目录 实现功能: 开发环境: 预备知识: 1.登录界面login.jsp: 2.登录成功界面hello.jsp: 3.登录失败信息回显Login.jsp: 思路简述: 具体代码Code: 实现功能: 模拟简单登录功能,登录成功跳转新页面,登录失败在原登录界面提示登录失败信息 开发环境: eclipse Tomcat-8.0 预备知识: HTML标签,Servlet相关知识--请求的转发与重定向,jsp相关知识,EL表达式 思路实现:共2个jsp,一个servlet 1.登录界面login.jsp

  • JSP+Servlet+JavaBean实现登录网页实例详解

    本文实例讲述了JSP+Servlet+JavaBean实现登录网页的方法.分享给大家供大家参考.具体如下: 这里涉及到四个文件: 1. 登录页面:login.html 2. 登录成功欢迎页面:login_success.jsp 3. 登录失败页面:login_failure.jsp 4. Servlet处理文件:LoginServlet.java 其实还涉及到一个文件:web.xml,这个后面再说: 下面分别介绍这几个文件: 1. 登录页面:login.html <!-- 该Login页面是一个

  • node.js实现简单登录注册功能

    本文实例为大家分享了node.js实现简单登录注册的具体代码,供大家参考,具体内容如下 1.首先需要一个sever模块用于引入路由,引入连接数据库的模块,监听服务器2.要有model层,里面写数据库连接模块和数据库的各种model(表),并导出model对象3.工具类utils,里面存放一些功能的模块,并且封装后导出 ,例如发送验证码的功能4.写路由,需要对数据库操作就使用导出的model对象,需要功能模块就使用导出的功能对象随后返回这个路由,在sever里引入5.生成api文档 sever模块

  • java web实现简单登录注册功能全过程(eclipse,mysql)

    目录 1.工程文件 2.DBBean.java 3.login.jsp 4.check.jsp 5.zhuce.jsp 6.zhuceck.jsp 7.success.jsp 8.zhucesu.jsp 9.数据库创造 总结 1.工程文件 基本的文件布局,没使用任何css文件,就是简单实现登录注册,页面没有做任何美化: 使用的是MySQL8.0.12,8一下的mysql链接代码有微小差别,网上教程基本都是8一下的,随便找找就能找到: 2.DBBean.java package Bean; imp

  • 纯JSP实现的简单登录示例

    本文实例讲述了纯JSP实现的简单登录的方法.分享给大家供大家参考,具体如下: 文件共有四个web.xml.login.jsp.logout.jsp.welcome.jsp四个文件 测试环境:Tomcat 6.0.x 假设项目名称是LoginSample,我的目录结构是这样的 ...\webapps\LoginSample\WEB-INF\web.xml ...\webapps\LoginSample\login.jsp ...\webapps\LoginSample\logout.jsp ...

  • 详解小程序之简单登录注册表单验证

    这段时间在做员工管理的小程序,前期在登录注册上花了不少功夫,今天就给大家分享下. 效果图,wxss的内容较简单,自己编写即可. ##主要内容 一.首先我是在util.js中引入表单正则验证规则,给予login.js来引用 function regexConfig() { var reg = { userid: /^[A-Za-z0-9]+$/, //邮箱正则验证 phone: /^1(3|4|5|7|8)\d{9}$/, //手机号正则验证 cards: /^[\u4e00-\u9fa5]{2,

  • Android Studio+Servlet+MySql实现登录注册

    一.Android 项目当中设置明文传输 1.设置明文传输的xml <?xml version="1.0" encoding="UTF-8"?> <network-security-config> <base-config cleartextTrafficPermitted="true"/> </network-security-config> 2.引入上述创建的xml android:networ

  • Java实现简单登录注册

    本文实例为大家分享了Java实现简单登录注册的具体代码,供大家参考,具体内容如下 一.登录 1. 内容介绍 定义一个内置的账号和密码,写好账号输入.密码输入.随机验证码生成.验证码输入方法(3个输入方法没有使用重载)以及账号密码验证码比较方法.调用这些方法实现简单的控制台登录. 2. 思路解析 方法调用.优先判断验证码,在判断账号最后判断密码. 3. 代码实现 import java.util.Random; import java.util.Scanner; public class Logi

  • php+mysql实现简单登录注册修改密码网页

    对于php和mysql的连接在许多blog上都有说明,为了将mysql中的查询,修改,插入等操作掌握,本文介绍了一下如何采用mysql做一个登录注册修改密码的网页. 其中,如下 1.登录-即为对数据库中的内容给予查询,并验证html中的信息与数据库是否匹配: 2.注册-即为对数据库中的内容进行插入,注册帐号与密码: 3.修改密码-即为对数据库中的内容进行修改. 这三个操作,我用了8个php和html文本来建立 具体见代码部分 1.登录的主界面index.html: <p> </p>

随机推荐