Servlet简单实现登录功能

 更新时间:2021年03月23日 08:45:58   作者:敲代码的蒲公英  
这篇文章主要为大家详细介绍了Servlet简单实现登录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

介绍:

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

学习内容:

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

具体步骤:

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

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

登录界面代码如下

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html >
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
 <form action="http://localhost:8080/demo_war_exploded/loginServlet" method="post">
<span class="errorMsg">

 ${empty requestScope.Msg? "请输入用户名和密码":requestScope.Msg}
</span><br>
 用户名:<input type="text" name="username"><br>
 密码:<input type="password" name="password"><br>
 <input type="submit" value="登录">

 </form>
</body>
</html>

3.创建LoginServlet类,继承HttpServlet

LoginServlet.java

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

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

public class LoginServlet extends HttpServlet {

 protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 //设置请求发来的字符集,避免乱码
 req.setCharacterEncoding("UTF-8");
 //获取用户名和密码
 String username=req.getParameter("username");
 String password=req.getParameter("password");
 //判断用户名密码是否正确(这里只做简单讲解)
  if(username.equals("张三")&&password.equals("123456")){
  //如果用户名密码正确,则请求转发到登录成功页面
  req.getRequestDispatcher("success.html").forward(req,resp);
  }else{
  //否则重定向到登录界面,并提示用户用户名或密码错误
  req.setAttribute("Msg","用户名或密码错误");
  req.getRequestDispatcher("index.jsp").forward(req,resp);
  }
 }
}

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

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

<?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>LoginServlet</servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>LoginServlet</servlet-name>
 <url-pattern>/loginServlet</url-pattern>
 </servlet-mapping>
</web-app>

实现结果

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

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

小结:

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

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

相关文章

  • SpringMVC中Controller层获取前端请求参数的方式汇总

    SpringMVC中Controller层获取前端请求参数的方式汇总

    这篇文章主要介绍了SpringMVC中Controller层获取前端请求参数的几种方式,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • idea启动与jar包启动中使用resource资源文件路径的问题

    idea启动与jar包启动中使用resource资源文件路径的问题

    这篇文章主要介绍了idea启动与jar包启动中使用resource资源文件路径的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • mybatis项目实现动态表名的三种方法

    mybatis项目实现动态表名的三种方法

    有时在开发过程中java代码中的表名和数据库的表名并不是一致的,此时我们就需要动态的设置表名,本文主要介绍了mybatis项目实现动态表名的三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 从零搭建SpringBoot+MyBatisPlus快速开发脚手架

    从零搭建SpringBoot+MyBatisPlus快速开发脚手架

    这篇文章主要为大家介绍了从零搭建SpringBoot+MyBatisPlus快速开发脚手架示例教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Java中NoClassDefFoundError 和 ClassNotFoundException的区别

    Java中NoClassDefFoundError 和 ClassNotFoundException的区别

    Java中NoClassDefFoundError和ClassNotFoundException的区别,从类继承层次上来看,ClassNotFoundException是从Exception继承的,所以ClassNotFoundException是一个检查异常。具体详情需要的朋友可以参考下面文章内容
    2022-06-06
  • JavaWeb学习笔记之Filter和Listener

    JavaWeb学习笔记之Filter和Listener

    这篇文章主要给大家介绍了关于JavaWeb学习笔记之Filter和Listener的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • IntelliJ IDEA无公网远程Linux服务器环境开发过程(推荐收藏)

    IntelliJ IDEA无公网远程Linux服务器环境开发过程(推荐收藏)

    下面介绍如何在IDEA中设置远程连接服务器开发环境并结合Cpolar内网穿透工具实现无公网远程连接,然后实现远程Linux环境进行开发,感兴趣的朋友跟随小编一起看看吧
    2023-12-12
  • Spring MVC下 bootStrap服务器分页代码

    Spring MVC下 bootStrap服务器分页代码

    因为Spring 对于ajax直接返回对象,到了WEB页面就转换成json 所以不需要使用JSON转换封装可以直接使用。接下来通过本文给大家分享Spring MVC下 bootStrap服务器分页代码,需要的的朋友参考下
    2017-03-03
  • Eclipse 2022 设置中文汉化的超详细图文教程

    Eclipse 2022 设置中文汉化的超详细图文教程

    这篇文章主要介绍了Eclipse 2022 设置中文汉化的超详细图文教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Java分布式锁的三种实现方案

    Java分布式锁的三种实现方案

    本文主要介绍了Java分布式锁的三种实现方案。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01

最新评论