Servlet简单实现登录功能

时间:2022-09-23 14:15:31

本文实例为大家分享了Servlet简单实现登录功能的具体代码,供大家参考,具体内容如下

介绍:

Servlet 是 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

学习内容:

1、编写Servlet程序
2、web.xml 中去配置 servlet
3、简单实现登录功能

具体步骤:

1.创建web工程,目录如下

Servlet简单实现登录功能

2.创建一个登录页面,一个登陆成功页面放在web目录下

Servlet简单实现登录功能

登录界面代码如下

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <!DOCTYPE html>
  3. <html >
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>Title</title>
  7. </head>
  8. <body>
  9. <form action="http://localhost:8080/demo_war_exploded/loginServlet" method="post">
  10. <span class="errorMsg">
  11.  
  12. ${empty requestScope.Msg? "请输入用户名和密码":requestScope.Msg}
  13. </span><br>
  14. 用户名:<input type="text" name="username"><br>
  15. 密码:<input type="password" name="password"><br>
  16. <input type="submit" value="登录">
  17.  
  18. </form>
  19. </body>
  20. </html>

3.创建LoginServlet类,继承HttpServlet

LoginServlet.java

因为这里只是简单介绍一下servlet用法,所以把用户名和密码是写的固定的。

  1. import javax.servlet.ServletException;
  2. import javax.servlet.http.HttpServlet;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import java.io.IOException;
  6.  
  7. public class LoginServlet extends HttpServlet {
  8.  
  9. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  10. //设置请求发来的字符集,避免乱码
  11. req.setCharacterEncoding("UTF-8");
  12. //获取用户名和密码
  13. String username=req.getParameter("username");
  14. String password=req.getParameter("password");
  15. //判断用户名密码是否正确(这里只做简单讲解)
  16. if(username.equals("张三")&&password.equals("123456")){
  17. //如果用户名密码正确,则请求转发到登录成功页面
  18. req.getRequestDispatcher("success.html").forward(req,resp);
  19. }else{
  20. //否则重定向到登录界面,并提示用户用户名或密码错误
  21. req.setAttribute("Msg","用户名或密码错误");
  22. req.getRequestDispatcher("index.jsp").forward(req,resp);
  23. }
  24. }
  25. }

4.在web.xml文件中配置Servlet

我们配置的时候只需要添加Servlet部分代码,其他的在创建时已经自动生成。Servlet-name 是要配置的类名,Servlet-class是类的全类名(不懂的朋友,在可以直接写类名,系统会提示),最重要的:url-pattern标签配置访问地址 ,/ 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径, /hello 表示地址为:http://ip:port/工程路径/hello 。

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  5. version="4.0">
  6.  
  7. <servlet>
  8. <servlet-name>LoginServlet</servlet-name>
  9. <servlet-class>LoginServlet</servlet-class>
  10. </servlet>
  11. <servlet-mapping>
  12. <servlet-name>LoginServlet</servlet-name>
  13. <url-pattern>/loginServlet</url-pattern>
  14. </servlet-mapping>
  15. </web-app>

实现结果

运行程序,输入正确的用户名密码登陆成功后,会跳转到登录成功页面

Servlet简单实现登录功能

Servlet简单实现登录功能

输入错误的用户名密码,会跳转回登录页面,并提示用户“用户名或密码错误”

Servlet简单实现登录功能

Servlet简单实现登录功能

小结:

通过今天的学习,我们需要掌握Javaweb工程的创建以及实现了一个简单的Servlet程序,并学会在web.xml文件中配置Servlet类。可以实现简单的登录,学习了请求转发的使用,最后了解了如何设置字符集。

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

原文链接:https://blog.csdn.net/m0_46495243/article/details/115047698