使用ServLet编写简易登录Web界面
2020-07-21 22:42
134 查看
1.新建项目,选中JAVA或者JAVA Enterprise中的Web Application(每个人略有不同,总之在二者之一中找到Web Application即可):
2.新建libs文件夹,导入如下两个包,右键Add as Library
其中mysql包是连接数据库的Jar包,可自行下载和自己数据库版本对应的包,jstl( JSP Standard Tag Library jsp)简化我们写spring框架。
3.配置tomcat
在此处选择自己tomcat的安装路径
4.文件编码环节(实践课老师给的样例,如有雷同,纯属同门)`
model.user文件:
//User.java public class User { private int id; private String name; private String password; private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", password='" + password + '\'' + ", age=" + age + '}'; } }
Service.UserService文件:
//UserService public class UserService { UserDao userDao = new UserDao(); //查找用户 public User SelectByName(String name){ return userDao.selectByName(name); } //插入一个新用户 public boolean Register(String name,String password,int age){ return userDao.InsertUser(name,password,age); } }
dao.UserDao文件:
//UserDao.java public class UserDao { public User selectByName(String name){ ResultSet rs = null; Connection connection = null; PreparedStatement pstmt = null; DBUtil dbUtil = new DBUtil(); User user = new User(); try { connection = dbUtil.getConnection(); pstmt = connection.prepareStatement("select * from user where name=?"); pstmt.setString(1,name); rs = pstmt.executeQuery(); while(rs.next()){ user.setId(rs.getInt(1)); user.setName(rs.getString(2)); user.setPassword(rs.getString(3)); user.setAge(rs.getInt(4)); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally { dbUtil.closeAll(rs,pstmt,connection); } return user; } public boolean InsertUser(String name,String password,int age){ Connection connection = null; PreparedStatement pstmt = null; try { connection = DBUtil.getConnection(); pstmt = connection.prepareStatement("insert into user(name,password,age) values (?,?,?)"); pstmt.setString(1,name); pstmt.setString(2,password); pstmt.setInt(3,age); pstmt.execute(); return true; } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return false; } }
ServLet.LoginServLet文件:
//loginServLet.java public class LoginServLet extends HttpServlet { UserService userService = new UserService(); protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //如果点击的是登录按钮则获取数据 String name = req.getParameter("name"); String password = req.getParameter("password"); System.out.println("name:"+name); User user = userService.SelectByName(name); System.out.println(user); //验证密码是否正确 if (password.equals(user.getPassword())) { resp.getWriter().write("success"); System.out.println("success"); } else { resp.getWriter().write("fail"); System.out.println("fail"); } } }
Utils.DBUtil文件:
//DBUtil.java public class DBUtil { public static Connection connection = null; public static Connection getConnection() throws ClassNotFoundException, SQLException { if(connection==null) { Class.forName("com.mysql.cj.jdbc.Driver"); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useSSL=false&autoReconnect=true&serverTimezone=GMT", "root", "hxh19981225"); return connection; }else { return connection; } } public static void closeAll(ResultSet rs, Statement statement, Connection connection){ if(rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if(statement!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if(connection!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
5.配置index.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>servlet登录跳转</title> </head> <body> <h1>登录界面</h1> <form action="/login" method="post"> name:<input name="name" type="text"> password:<input name="password" type="password"> <input type="submit" value="登录"> </form> </body> </html>
6.配置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>login</servlet-name> <servlet-class>com.xs1701.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>login</servlet-name> <url-pattern>/login</url-pattern> </servlet-mapping> <!-- 注册界面--> </web-app>
相关文章推荐
- servlet编写Filter过滤器,防止未登录访问,不过滤登陆界面(使用IDEA编写)
- 玩转web之servlet(六)---session介绍及简单使用(登录验证中保存信息)
- Java Servlet学习【1】编写Servlet程序,配置web.xml,使用免安装版tomcat
- 玩转web之servlet(六)---session介绍及简单使用(登录验证中保存信息)
- 使用hydra暴力破解web登录界面
- RabbitMQ的web管理界面无法使用guest用户登录
- Servlet编写登录界面
- 编写项目(servlet版本的用户管理系统)之前台登录界面
- 关于使用jsp servlet web.xml的配置 jdbc(oracle)的第一个带有界面的代码
- Servlet+Web+Tomcat实现简易登录功能
- 使用 C# 编写简易 ASP.NET Web 服务器
- 使用Domino自带的模板定制其Web登录界面
- javaweb tomcat+jsp+servlet的一个简易登陆界面
- rabbitmq的web管理界面无法使用guest用户登录的问题
- 使用 C# 编写简易 ASP.NET Web 服务器
- rabbitMQ教程(五)rabbitmq 指令 以及解决web管理界面无法使用guest用户登录
- rabbitmq的web管理界面无法使用guest用户登录
- Java Web笔记 – Servlet中的Filter过滤器的介绍和使用 编写过滤器
- 编写asp.net登录界面时,在不会使用cookie的情况下,暂时解决方法.
- Web技术,制作简易的登录界面