servlet技术--使用注解模拟用户登录实现页面跳转

简介: 该文章介绍了Servlet技术的使用,通过注解方式开发Servlet来模拟用户登录功能,并在登录成功后实现页面跳转,展示用户的用户名和密码。

文章目录

  • 1、servlet体系结构
  • 2、servlet技术特点
  • 3、servlet和jsp的区别
  • 4、servlet开发

1、servlet体系结构

servlet实质就是按servlet规范编写的Java类,可以处理web应用中的相关请求。
在这里插入图片描述

2、servlet技术特点

1、功能强大

  • 2、可移植性
  • 3、性能高效
  • 4、安全性高
  • 5、可扩展

3、servlet和jsp的区别

1、角色不同

  • 2、编程方法不同
  • 3、servlet需要编译后运行
  • 4、速度不同

4、servlet开发

(使用注解开发、简单啊、那个配置的还有修改配置文件、烦的一批。不过也好弄、没有注解方便、哈哈哈)

注解开发只需要在java类的上面加上这句话@WebServlet("/My"),括号里的内容自己命名、反斜杠一定要带上。前端怎样找到这个类就要用到这个括号里的内容。例如用from表单提交数据、这样写: <form action="My" method="post">

代码结构(使用的idea开发工具、maven项目)
在这里插入图片描述

前端三个页面
主页index

<%--
  Created by IntelliJ IDEA.
  User: 静小文
  Date: 2021/12/19
  Time: 22:40
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>

  <form action="My" method="post">
    姓名:<input type="text" name="username"><br>
    密码:<input type="text" name="password"><br>
    <button type="submit">提交</button>
  </form>
  </body>
</html>

登录成功页面success.jsp

<%--
  Created by IntelliJ IDEA.
  User: 静小文
  Date: 2021/12/19
  Time: 22:57
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>成功</title>
</head>
<body>
登录成功!!!
<a href="index.jsp">首页</a>

</body>
</html>

登录失败页面error.jsp

<%--
  Created by IntelliJ IDEA.
  User: 静小文
  Date: 2021/12/19
  Time: 22:58
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>错误页面</title>
</head>
<body>
登录失败!!!
<a href="index.jsp">首页</a>
</body>
</html>

servlet

package com.zheng;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/My")
public class MyServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置请求的编码,防止中文乱码
        request.setCharacterEncoding("UTF-8");
        String username = request.getParameter("username");//获取用户名
        String password = request.getParameter("password");//获取用户名

        if ("admin".equals(username) && "123".equals(password)) {
            //模拟数据库
            RequestDispatcher requestDispatcher = request.getRequestDispatcher("success.jsp");//跳转登录成功页面
            requestDispatcher.forward(request, response);
        } else {
            RequestDispatcher requestDispatcher = request.getRequestDispatcher("error.jsp");//跳转登录成功页面
            requestDispatcher.forward(request, response);
        }

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

注意:通过doget方式提交、参数会在url地址栏中显示

测试
用户名和密码正确的情况
在这里插入图片描述
在这里插入图片描述
用户名和密码错误的情况
在这里插入图片描述
在这里插入图片描述

提示:如果IDEA中没有servlet选项,则在pom中添加以下依赖

        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
相关文章
|
2月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
73 0
|
4月前
|
前端开发 JavaScript
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
这篇文章介绍了使用AJAX技术将前端页面中表单接收的多个参数快速便捷地传输到后端servlet的方法,并通过示例代码展示了前端JavaScript中的AJAX调用和后端servlet的接收处理。
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
|
4月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
38 3
|
4月前
|
存储 前端开发 Java
servlet过滤器--使用过滤器统计网站访问人数的计数(注解形式)
该文章展示了如何使用Servlet过滤器(Filter)通过注解方式创建一个网站访问人数统计功能,通过`@WebFilter`注解定义过滤器及其URL模式,并在`doFilter`方法中实现计数逻辑,将访问次数存储在`ServletContext`中,最后在JSP页面展示访问人数。
servlet过滤器--使用过滤器统计网站访问人数的计数(注解形式)
|
6月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
106 12
|
6月前
|
缓存 小程序 前端开发
Java服务器端技术探秘:Servlet与JSP的核心原理
【6月更文挑战第23天】Java Web开发中的Servlet和JSP详解:Servlet是服务器端的Java小程序,处理HTTP请求并响应。生命周期含初始化、服务和销毁。创建Servlet示例代码展示了`doGet()`方法的覆盖。JSP则侧重视图,动态HTML生成,通过JSP脚本元素、声明和表达式嵌入Java代码。Servlet常作为控制器,JSP处理视图,遵循MVC模式。优化策略涉及缓存、分页和安全措施。这些技术是Java服务器端开发的基础。
66 9
|
6月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
【6月更文挑战第23天】Java Web开发中,Servlet和JSP是构建动态Web应用的基础。Servlet处理逻辑,JSP专注展示。示例展示了Servlet如何通过`request.setAttribute`传递数据给JSP渲染。JSP自定义标签提升页面功能,如创建`WelcomeTag`显示欢迎消息。Servlet过滤器,如`CacheControlFilter`,用于预处理数据或调整响应头。这些集成和扩展技术增强了应用效率、安全性和可维护性,是Java服务器端开发的关键。
69 7
|
6月前
|
XML 数据格式
XML配置Servlet文件,不使用注解配置路径的方法
XML配置Servlet文件,不使用注解配置路径的方法
|
6月前
|
存储 设计模式 搜索推荐
早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(下)
早期javeweb技术 JSP JDBC JSTJ Servlet BooStrap(下)
36 1
|
7月前
|
存储 安全 Java
Java的servlet和jsp技术
Java的servlet和jsp技术
67 11