JSP实现简单登录功能(适用零基础小白 只含功能代码)

一、实验要求

使用JSP内置对象实现简单登录页面

包含login1.jsp(登录页)、login2.jsp(返回信息页)、test.tag(验证页)

注意:本博客只包含最简单的功能页面,如需页面设计与debug,可私戳博主~ 

二、实验环境

JDK:13      Tomcat:9.0  

三、实验过程

1. 建立文件目录结构

2. 编写 test.tag 文件

该页面主要功能为验证用户名、密码的正确性,从而返回相关结果给信息页面

<%@ attribute name="name" required="true" %>        
<%@ attribute name="shiyan" required="true" %>     
<%@ variable name-given="message" scope="AT_END" %>   
<% 
	try{
	 int password=Integer.parseInt(shiyan);		
	 String string="none";
	 String adminer="user1";            
	 if(name.equals(adminer)&&password==1234)
	{ 
	 		string="Success"; //或者其他信息               
	 }
	 else{
	 		string="Fail";
	 }
	 jspContext.setAttribute("message",string);  
	}
   catch(Exception e){
      jspContext.setAttribute("message","error"); //异常处理
   }
%>

3. 编写login1.jsp页面

该页面为最简单的登录功能页面,只需要简单的表单功能将其与 tag 文件进行数据传送即可

由于本人在进行页面设计时运用了大量 js 网页设计,所以在此将页面编码格式设置为ANSI,方便显示相关文字信息与效果展示

<%@ page contentType="text/html;charset=GB2312" %>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<title>login</title>
</head>
<%
	session.invalidate(); 
%>
<body>	
<form action="login2.jsp" method="post" name=form>
<center>
<table>
<center>用户登录</center>
<tr>
<td>
	请输入用户名:<p><Input type="text" name="name" size=20 placeholder="初始用户名user1">
</td></tr><br>
<tr>
<td>
	 请输入密码:<p><Input type="password" name="shiyan" size=20 placeholder="初始密码1234">
</td><br></tr>
<tr>
<td>
<center> <button>登录</button> </center>
</td></tr><br>
</table>
      </form>
</center>
</body>
</html>

由于在此想要展示更简单的登录页,所以删掉了大量的 js 修饰代码,只用<table>标签来显示效果

4. 编写login2.jsp页面

该页面为信息页,主要功能为将 tag 文件的判断结果反馈到该页面中

<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="towards"%>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/>
<title>login</title>
</head>
<body>
<center>
<%  
		String a=request.getParameter("name");
		session.setAttribute("admin",a);
		String b=request.getParameter("shiyan");
		session.setAttribute("password",b);
		if (a==null||b==null){
				a="";
				b="";
		}
		if(a.length()>0&&b.length()>0){
%>	 

<%
 if(a==null){
%>   <jsp:forward page="error.jsp"/> //异常处理
<%  }
else{}
%>

<towards:test name="<%=a%>" shiyan="<%=b%>"/>
 <%=message%>
 <br>
<% 
	String T="Success";
  if(message.equals(T)){
%>
  <%}
  else{
  %>
    <A href="login1.jsp">登录失败,请返回登录界面</A>
  <%}
}
%>
</font>
</body>
</html>

四、实验效果图(未加网页设计版)

写在最后 

由于时间问题,没有把较为复杂的网页设计结构与代码编写博客~

偷懒只写了功能代码,希望能够帮助到刚开始接触 JSP 的小白,在实现功能的基础上可以继续优化页面,实现更多交互效果,也可以私信本人寻找相关网页设计资源噢~

  • 22
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
很抱歉,我是一名语言模型,无法提供完整的代码。但是,我可以为您提供一个基本的流程和代码片段,以帮助您实现注册登录功能。 1. 创建数据库表 首先,您需要在 MySQL 数据库中创建一个用户表,例如: ``` CREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL ); ``` 2. 连接数据库 在 JSP 页面中,您需要使用 Java 代码来连接数据库。您可以使用以下代码片段: ``` <% Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mydb"; String user = "root"; String password = "root"; conn = DriverManager.getConnection(url, user, password); } catch(Exception e) { e.printStackTrace(); } %> ``` 这会创建一个名为 `conn` 的数据库连接对象,您可以使用它来执行 SQL 查询和更新。 3. 实现注册功能JSP 页面中,您可以创建一个表单,让用户输入他们的用户名和密码。然后,您可以使用以下代码将用户数据插入到数据库中: ``` <% String username = request.getParameter("username"); String password = request.getParameter("password"); String sql = "INSERT INTO user (username, password) VALUES (?, ?)"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); ps.executeUpdate(); } catch(Exception e) { e.printStackTrace(); } %> ``` 这会将用户的用户名和密码插入到 `user` 表中。 4. 实现登录功能JSP 页面中,您可以创建另一个表单,让用户输入他们的用户名和密码。然后,您可以使用以下代码检查该用户是否存在于数据库中: ``` <% String username = request.getParameter("username"); String password = request.getParameter("password"); String sql = "SELECT * FROM user WHERE username=? AND password=?"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); ResultSet rs = ps.executeQuery(); if(rs.next()) { // 用户名和密码是正确的 } else { // 用户名或密码不正确 } } catch(Exception e) { e.printStackTrace(); } %> ``` 这会执行一个查询,查找与用户输入的用户名和密码匹配的行。如果找到了匹配的行,则表示用户名和密码是正确的。 注意:为了安全起见,您应该对用户输入进行验证和清理,以防止 SQL 注入攻击和其他漏洞。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q小Q琪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值