JavaWeb实现基础的登陆注册(一)

在WebContent下建立indext.xml:

Weibo
<a href="register.html">还不是会员?</a>
<form method="post" action="login.do">
	名称:<input type="text" name="username"><br/>
	密码:<input type="password" name="password"><br/>
	<input type="submit" value="登入"><br/>
	<a href="forgot.html">忘记密码?</a>
</form>

register.html:

<h1>会员注册</h1>
<form method="post" action="register.do">
邮件地址:<input type="text" name=email><br/>
名称:<input type="text" name="username" maxlenghth="16"><br/>
密码:<input type="text" name="password" maxlenghth="16"><br/>
确认密码:<input type="text" name="confirmedPasswd" maxlenghth="16"><br/>

<input type="submit" value="注册"><br/>
</form>

src下建立controller包,controller包下建立Login.java:
public class Login extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
	String username = request.getParameter("username");
	String password = request.getParameter("password");
	//把users从servletcontext中取出来
	ServletContext context = this.getServletContext();
	HashMap<String,String> users = (HashMap)context.getAttribute("data");
	
	//进行判断users中是否存在匹配的username和password
	//如果存在,绘制成功界面
	if(users.get(username).equals(password)){
		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'");
		out.println("<html>");
		out.println("<head>");
		out.println("<meta content='text/html; charset=UTF-8' http-equiv='content-type'>");
		out.println("<title>会员登入成功</title>");
		out.println("</head>");
		out.println("<body>");
		out.println("<h1>会员"+ username + "你好</h1>");
		out.println("<a href='index.html'>回首页登入</a>");
		out.println("</body>");
		out.println("</html>");
		out.close();
	}else{//如果不存在绘制失败界面
		response.setContentType("textml;charset=UTF-8");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'");
		out.println("<html>");
		out.println("<head>");
		out.println("<meta content='text/html; charset=UTF-8' http-equiv='content-type'>");
		out.println("<title>会员登入失败</title>");
		out.println("</head>");
		out.println("<body>");
		out.println("<h1>对不起,您还不是会员</h1>");
		out.println("</body>");
		out.println("</html>");
		out.close();
	}
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
	doGet(request, response);
}

}
Register.java:
public class Register extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
	
	
	String email = request.getParameter("email");
	String username = request.getParameter("username");
	String password = request.getParameter("password");
	String confirmedPasswd = request.getParameter("confirmedPasswd");
	
	//数据存放在users中
	HashMap<String,String> users = new HashMap<>();
	users.put(username, password);
	//把users存放在ServletContext中,为以后其他的Servlet共享
	ServletContext context = this.getServletContext();
	context.setAttribute("data", users);
	//绘制注册成功界面
	response.setContentType("text/html;charset=UTF-8");
	PrintWriter out = response.getWriter();
	out.println("<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Translation//EN'>");
	out.println("<html>");
	out.println("<head>");
	out.println("<meta content='text/html;charset=UTF-8' http-equiv='content-type'>");
	out.println("<title>会员注册成功</title>");
	out.println("</head>");
	out.println("<body>");
	out.println("<h1>会员"+request.getParameter("username")+"注册成功</h1>");
	out.println("<a href='index.html'>回首页登陆</a>");
	out.println("</body>");
	out.println("</html>");
	out.close();
}
/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	// TODO Auto-generated method stub
	doGet(request, response);
}

}
web.xml下修改文件为:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 			http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee">
<servlet>
	<servlet-name>Chapter1 Servlet</servlet-name>
	<servlet-class>controller.Register</servlet-class>
</servlet>

<servlet-mapping>
	<servlet-name>Chapter1 Servlet</servlet-name>
	<url-pattern>/register.do</url-pattern>
</servlet-mapping>

<servlet>
	<servlet-name>Chapter1</servlet-name>
	<servlet-class>controller.Login</servlet-class>
</servlet>

<servlet-mapping>
	<servlet-name>Chapter1</servlet-name>
	<url-pattern>/login.do</url-pattern>
</servlet-mapping>

</web-app>

登陆界面:
登陆界面
点击还不是会员跳转注册界面:
在这里插入图片描述
注册成功:
在这里插入图片描述
登录成功:
在这里插入图片描述
其中if(users.get(username).equals(password))报错提示空指针,建议重启eclipse后,重新运行整个程序,先注册后登录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值