用JSP简单的写一个登录注册页面

这篇具有很好参考价值的文章主要介绍了用JSP简单的写一个登录注册页面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用JSP简单的写一个登录注册页面

  • 编写页面时先创建一个Dynamic web project,所有的jsp文件都放在WebContent文件夹下,java文件放在java Resource文件的src文件

1.创建一个index.jsp文件作为主页面


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<a href="login.jsp">登录</a> <a href="register.jsp">注册</a>
</body>
</html>

2.创建User类用于对用户的参数进行封装


package web02;

public class User {
	private String uaername;
	private String password;
	private int  age;
	private String sex;
	public String getUaername() {
		return uaername;
	}
	public void setUaername(String uaername) {
		this.uaername = uaername;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public User() {
		super();
		// TODO Auto-generated constructor stub
	}
	public User(String uaername, String password, int age, String sex) {
		super();
		this.uaername = uaername;
		this.password = password;
		this.age = age;
		this.sex = sex;
	}
	
}

3.创建DBUtil类用来存储用户信息


  • 因为主要用jsp因此这里用map数组暂替数据库对用户信息进行存储
package web02;

import java.util.HashMap;
import java.util.Map;

public class DBUtil {
	private static Map<String,User> map=new HashMap<String, User>();
	//判断改用户名是否被注册过
	public Boolean addUser(String username,String password,int age,String sex) {
		if(map.containsKey(username)) {
			return false;
		}else {
			User user=new User(username, password, age, sex);
			map.put(username, user);
			return true;
		}
		
	}
	//判断改用户名和密码是否输入正确
	public static User LoginUser(String username,String password) {
		if(map.containsKey(username)) {
			User user=map.get(username);
			if (user.getPassword().equals(password)) {
				return user;
			}
			return null;
		}
		return null;
	}
}

4.创建注册页面register.jsp


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%--action 将输入的数据传入注册处理页面--%>
<form action="register_do.jsp" method="post">
用户名:<input type="text" name="username"><br>
用户名密码:<input type="password" name="password"><br>
年龄:<input type="text" name="age"><br>
性别:<input type="radio" value="男" name="sex"><input type="radio" name="sex" value="女">
<input type="submit" value="注册">
</form>

</body>
</html>

5.创建注册处理页面register_do.jsp(对后续输出乱码问题进行处理)


<%@page import="web02.DBUtil"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
//获取传递过来的数据
String username=request.getParameter("username");
String password=request.getParameter("password");
int age=Integer.parseInt(request.getParameter("age"));
//因为在运行是系统会用默认的编码格式对传入的数据进行编码而原本的iso-8859-1,而这编码格式没有中文因此会产生乱码问题
//通过系统默认的编码格式进行解码,在通过设置utf-8的编码
String sex=new String(request.getParameter("sex").getBytes("iso-8859-1"),"utf-8");
//创建DBUtil类对注册的用户数据进行判断
DBUtil util=new DBUtil();
Boolean b=util.addUser(username, password, age, sex);

if(b==true){
//注册成功后用getRequestDispatcher将页面跳转到登录页面,setAttribute用来传递不同的参数
//在登录界面接收后呈现出不同的数据用于区分跳转的页面和直接登录页面
	request.setAttribute("key", "注册成功,请登录!");
	request.getRequestDispatcher("login.jsp").forward(request, response);
	
}
%>


</body>
</html>

6.创建登录页面login.jsp


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
//对传入的数据进行接受并显示
Object key=request.getAttribute("key");
if(key!=null)
out.println(key);
%>
登录
<hr>
<form action="login_do.jsp" method="post">
用户名:<input type="text" name="username"><br>
用户名密码:<input type="password" name="password"><br>
<input type="submit" value="登录">
</form>

</body>
</html>

7.创建登录处理页面login_do.jsp


<%@page import="web02.User"%>
<%@page import="web02.DBUtil"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<% String username=request.getParameter("username");
String password=request.getParameter("password");
User user=DBUtil.LoginUser(username, password);
if(user==null){
	//登录失败跳转回登录页面
	request.setAttribute("key", "<font color='red'>登录失败,用户名或密码错误!</font><br>");
	request.getRequestDispatcher("login.jsp").forward(request, response);
//	out.println("登录失败,用户名或密码错误!");
}else{
//	out.println("登录成功!");
//登录成功跳转到用户信息页面
request.setAttribute("user", user);
request.getRequestDispatcher("personCenter.jsp").forward(request, response);
}
%>
</body>
</html>

8.创建用户信息页面personCenter


<%@page import="web02.User"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<% 
User user=(User)request.getAttribute("user");
%>
用户名:<%=user.getUaername() %><br>
年龄:<%=user.getAge() %><br>
性别:<%=user.getSex() %><br>
</body>
</html>

文章来源地址https://www.toymoban.com/news/detail-416305.html

到了这里,关于用JSP简单的写一个登录注册页面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包