iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >jsp+servlet实现简单登录页面功能(附demo)
  • 639
分享到

jsp+servlet实现简单登录页面功能(附demo)

2024-04-02 19:04:59 639人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录实现功能:开发环境:预备知识: 1.登录界面login.jsp:2.登录成功界面hello.jsp:3.登录失败信息回显Login.jsp:思路简述:具体代码Code:

实现功能:

模拟简单登录功能,登录成功跳转新页面,登录失败在原登录界面提示登录失败信息

开发环境:

预备知识:

html标签,Servlet相关知识——请求的转发与重定向,jsp相关知识,EL表达式

思路实现:共2个jsp,一个servlet

 1.登录界面login.jsp:

采用jsp,不采用html的原因是因为要进行登录失败信息回显(当然如果用html结合ajax也可以实现,这里采用jsp更方便)

如图:

2.登录成功界面hello.jsp:

欢迎信息+登录的用户名

如图:

3.登录失败信息回显Login.jsp:

如图:

思路简述:

    问题1:jsp页面如何与一个java类进行连接绑定起来?

                简单的说,一个jsp页面要跟一个servlet进行连接,需要有一个桥梁,这个桥梁就是WEB.xml文件,可以通过下面代码观察到,登录页面的表单的提交的action属性值,填写的就是在web.xml文件里对应的servlet-mapping中的url-pattern的值,而这个值又对应了一个servlet-name,servlet-name则对应到一个servlet-class,这样就把jsp和java类(servlet类)进行了关联。
其实我觉得最明显的就是提交表单后,url地址变化了,通过这个url地址将表单信息传给了对应的java类。

    问题2:实现的整体的思路是怎么样的?

                一个jsp页面通过表单元素,将用户信息通过url的形式提交给一个已经在web.xml配置映射好的servlet类,servlet类接收到传来的表单信息,进行值校验(为了方便起见则直接定义用户名密码了,正常情况下是要采用jdbc进行从数据库中取出值进行校验的),然后对校验结果进行判断,如果账户密码正确,则跳转到登录成功的页面(采用重定向),如果失败,则将登录失败的提示信息存到request域对象中并返回登录界面显示出来(采用请求的转发)

简单的联系:

jsp页面<---------->web.xml<--------->servlet类

    问题3:在servlet中要如何获取jsp中提交过来的表单信息呢?

                request.getParameter("userName");//userName是表单中,input标签中name属性的值,接收到的是string类型

    问题4:登录页面如何在登录失败的时候给出提示信息呢?

                实现思路是如果登录失败,则往request域对象中存入登录失败的提示信息,然后通过请求的转发的方式跳转回登录页面并显示,所以登录界面要嵌入一段脚本代码,用来判断当前是否有登录失败提示信息的对象,如果有则将该对象保存的信息打印出来,如果没有则什么都不显示。

1)如果账密不匹配,则往request域中存入message对象,该message中保存了提示信息:request.setAttribute("message", "账密错误,请重新登录<br>");

并转发到登录页面:request.getRequestDispatcher("/loginDemo/login.jsp").forward(request, response);

2)在登录页面获取该对象:(因为登录失败的时候才有该对象,疑问:那如果我登录失败后再访问登录页面,那不应该会显示错误信息吗?答案是否定的。可了解request域对象生命周期相关知识


               <%
                       if(request.getAttribute("message")!= null){
        out.print(request.getAttribute("message")); 
               }
                %>

     问题5:request.getAttribute()和request.getParameter()区别是:

                前者获取的是一个object对象,后者获取的是一个string字符串,所以前者使用的时候可能会碰到需要做一些类型转换的情况。

     问题6:表单访问路径填写问题

                在ation属性,或者请求的转发,重定向,一般采用绝对路径,可以避免路径访问出错,访问资源不存在等问题。

                jsp表达式:<%=request.getContextPath()%>或者用EL表达式:${ pageContext.request.contextPath }可以获取当前web应用根目录路径,不妨试试输出打印下,就可以观察值是多少了。

具体代码Code:

1.login.jsp:


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta Http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>标题</title>
<style type="text/CSS">
	*{margin: 0;padding: 0;}
	fORM{margin: 0 auto;padding:15px; width: 300px;height:300px;text-align: center;}
	#submit{padding: 10px}
	#submit input{width: 50px;height: 24px;}
</style>
</head>
<body>
	<div class="wrapper">
		<form action="<%=request.getContextPath()%>/loginDemo" method="post">
			<label>用户名:</label>
				<input type="text" name="userName" value="${param.userName}"/><br><br>
			<label>密码:</label>
				<input type="passWord" name="password"/><br>
				
			<font color="red">
				<%
					if(request.getAttribute("message")!= null){
						out.print(request.getAttribute("message"));
					}
				%>
			</font>
			
			<div id="submit">
				<input type="submit" value="登录"/>
			</div>
		</form>
	</div>
</body>
</html>

2.hello.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>标题</title>
</head>
<body>
	Hello:<br>
	<font color="green" size="22">
		<%
			out.print(request.getParameter("userName")+"<br>");
		%>
	</font>
	<a href="<%=request.getContextPath()%>/loginDemo/login.jsp">重新登录</a>
</body>
</html>

3.对应的LoginServlet.java


package loginDemo;
 
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.httpservlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class LoginServlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
 
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String userName = request.getParameter("userName");
		String password = request.getParameter("password");
		System.err.println(userName+";"+password);
		String myUser = "Dong";
		String myPwd = "5432100";
		if(userName.equals(myUser)&&password.equals(myPwd)) {
			response.sendRedirect(request.getContextPath()+"/loginDemo/hello.jsp?userName="+userName);
		}else {
			request.setAttribute("message", "账密错误,请重新登录<br>");
			request.getRequestDispatcher("/loginDemo/login.jsp").forward(request, response);
		}
		
	}
}

4.对应的web.xml的配置(注册)与映射


  <servlet>
      <servlet-name>logindemo</servlet-name>
      <servlet-class>loginDemo.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
      <servlet-name>logindemo</servlet-name>
      <url-pattern>/loginDemo</url-pattern>
  </servlet-mapping>

到此这篇关于jsp+servlet实现简单登录页面功能(附demo)的文章就介绍到这了,更多相关jsp+servlet登录页面内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: jsp+servlet实现简单登录页面功能(附demo)

本文链接: https://www.lsjlt.com/news/129986.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • jsp+servlet实现简单登录页面功能(附demo)
    目录实现功能:开发环境:预备知识: 1.登录界面login.jsp:2.登录成功界面hello.jsp:3.登录失败信息回显Login.jsp:思路简述:具体代码Code:...
    99+
    2024-04-02
  • 怎么用jsp+servlet实现简单登录页面功能
    本篇内容主要讲解“怎么用jsp+servlet实现简单登录页面功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用jsp+servlet实现简单登录页面功能”吧!目录实现功能:开发环境:预备...
    99+
    2023-06-20
  • Servlet简单实现登录功能
    本文实例为大家分享了Servlet简单实现登录功能的具体代码,供大家参考,具体内容如下 介绍: Servlet 是 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序...
    99+
    2024-04-02
  • jsp实现简易登录页面
    一.简单的登陆功能 输入用户名admin  密码admin后,显示弹出窗“登陆成功”,否则显示“登录失败” 这里需要一个登陆页面和一个处理页面,主要用到request.getParameter方法,代码(logn.jsp): ...
    99+
    2023-10-08
    java servlet 开发语言 tomcat
  • JavaWeb Servlet实现网页登录功能
    上次写了一篇JDBC工具类实现登录功能,但是只能在控制台实现输入用户名密码。这次使用了Servlet来实现登录功能,可以通过在页面上输入账号密码,然后提交表单,查询数据库,从而实现登...
    99+
    2024-04-02
  • JavaFX登录页面简单实现
    一、准备工作 准备好javaFX开发环境,请详见我上篇文章https://www.sdk.cn/details/wAe9P8mXAq5dbqDl4y 二、项目结构 三、启动类创建Stage public class Main extend...
    99+
    2024-04-02
  • JavaWeb Servlet怎么实现网页登录功能
    小编给大家分享一下JavaWeb Servlet怎么实现网页登录功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下:1、配置文件,导入jar包2、创建数据库环境use student;create&n...
    99+
    2023-06-20
  • Android实现简单QQ登录页面
    Android开发实现极为简单的QQ登录页面,供大家参考,具体内容如下 设计一个简单QQ登录页面,无任何功能。然后打包安装到手机。 1.首先创建一个空白页面 2.打开样式设计的页...
    99+
    2024-04-02
  • springSecurity实现简单的登录功能
    前言 1、不使用数据库,实现一个简单的登录功能,只有在登录后才能访问我们的接口2、springSecurity提供了一种基于内存的验证方法(使用自己定义的用户,不使用默认的) 一、实...
    99+
    2024-04-02
  • vue+tp5实现简单登录功能
    本文实例为大家分享了vue+tp5实现简单登录功能的具体代码,供大家参考,具体内容如下 准备工作:安装vue-cli,element-ui,package.json中如图所示,看着安...
    99+
    2024-04-02
  • HTML怎么实现简单登录页面
    这篇文章主要介绍HTML怎么实现简单登录页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!html是什么html的全称为超文本标记语言,它是一种标记语言,包含了一系列标签.通过这些标签可以将网络上的文档格式统一,使分...
    99+
    2023-06-14
  • spring MVC实现简单登录功能
    spring-MVC实现简单的登录功能,供大家参考,具体内容如下 今天我学习了spring-MVC实现简单的登录功能,本篇博客就讲解如何使用spring-MVC实现简单的登录功能 首...
    99+
    2024-04-02
  • HTML+jQuery实现简单的登录页面
    目录简介公共代码(后端接口)示例1:最简(纯HTML)代码测试示例2:HTML+jQuery(form data)代码测试示例3:HTML+jQuery(json)代码测试简介 本文...
    99+
    2024-04-02
  • Servlet怎么实现登录功能
    小编给大家分享一下Servlet怎么实现登录功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!介绍:Servlet 是 JavaWeb 三大组件之一。三大组件分别...
    99+
    2023-06-14
  • ajax如何实现简单的登录页面
    小编给大家分享一下ajax如何实现简单的登录页面,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.什么是ajaxAjax是一种无需重新加载整个网页,能够更新部分网...
    99+
    2023-06-08
  • Android如何实现简单QQ登录页面
    本篇内容介绍了“Android如何实现简单QQ登录页面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!设计一个简单QQ登录页面,无任何功能。然...
    99+
    2023-06-30
  • node.js实现简单登录注册功能
    本文实例为大家分享了node.js实现简单登录注册的具体代码,供大家参考,具体内容如下 1、首先需要一个sever模块用于引入路由,引入连接数据库的模块,监听服务器2、要有model...
    99+
    2024-04-02
  • JSP实现简单的登录和注册
    JSP实现登录和注册(Map集合模拟数据库) 1、login.jsp2、 loginSelect.jsp3、register.jsp4、 RegisterSelect.jsp5、 index....
    99+
    2023-10-01
    java servlet 数据库
  • Servlet实现简单文件上传功能
    本文实例为大家分享了Servlet文件上传的具体代码,供大家参考,具体内容如下两点要素: 表单提交方式必须是post 2.enctype一定要是multipart/form-data。 enctype的默认值是application/x-w...
    99+
    2023-05-30
    servlet 文件上传 实现简单
  • HTML+jQuery如何实现简单的登录页面
    这篇文章主要介绍“HTML+jQuery如何实现简单的登录页面”,在日常操作中,相信很多人在HTML+jQuery如何实现简单的登录页面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTML+jQuery如何...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作