欢迎来到代码驿站!

JSP代码

当前位置: 首页 > 软件编程 > JSP代码

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

时间:2020-09-28 22:33:49|栏目: JSP代码|点击: 次

本文实例为大家分享了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>

上一篇:没有了

栏    目: JSP代码

下一篇: Java输出系统当前的日期(年月日时分秒毫秒)

本文标题: Jsp+Servlet实现简单登录注册查询

本文地址:http://www.codeinn.net/misctech/5550.html

更多JSP代码

阅读排行

  • 1 JSP+Servlet+JavaBean实现登录网页实例详解
  • 2 JSP中param动作的实例详解
  • 3 log4j 文件输出
  • 4 jsp页面iframe高度自适应的js代码
  • 5 JSP Servelet 数据源连接池的配置
  • 6 JSP生成jpeg图片用于投票
  • 7 写一个对搜索引擎友好的文章SEO分页类
  • 8 利用JSP建立Web站点
  • 9 无边框窗口代码详解
  • 10 十三、JSP动作

推荐教程

  • 11-22 Vue教程
  • 11-22 nodejs教程
  • 11-22 Hadoop教程
  • 11-22 shiro教程
  • 11-22 nginx教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有

资讯网朱骏联手FF细节化妆品公司起名网电子签名是怎样的八字算命哪个准易经免费公司起名基金交易周期设计网站设计素材商丘保安公司在那微营销的推广方式有哪些给我一个网名餐馆打折活动娃娃起名字大全集2019周公解梦大全查询梦见结婚微信圈推广营销企业会计服务起名世界未解之谜!网站美工设计基础试题不要和陌生人说话演员表罗曼罗兰男孩子起名带子字世界未解之谜网迷你酷狗双鱼座运势时尚女装卖家起名免费名字打分周易预测周易测验新野网站建设非常小特工之时间大盗免费在线起名大全起名大全对周易风水八卦的认识少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

资讯网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化