java实现后台页面的登录
1. 在安装了tomcat,myeclipse的环境下,创建java项目;
2. 将项目部署到tomcat下,确保tomcat搭建环境没有问题;
3. 设计Java代码,在项目的WebRoot目录下下代码,实现该功能:
(1)login.jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html;" charset="utf-8" />
<link rel="stylesheet" type="text/css" href="css/login.css">
<title>登录页面</title>
</head>
<body class="custom-background">
<div class="all"><form action="dologin.jsp" method="post">
<p>登 录</p>
<div>
<input type="text" name="username" id="input" placeholder="账号">
</div>
<div>
<input type="password" name="password" id="input" placeholder="登陆密码">
</div>
<div>
<input type="submit" value="登录" class="btn">
</div>
</form></div>
</body>
</html>
在login.jsp主要是登陆的表单设计,其中form标签下的action是标识了逻辑处理的servlet的位置,但是此处指定的是dologin.jsp页面,即指定提交时处理登录功能的页面。
(2)dologin.jsp页面的设计
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<% //接收用户提交的用户名和密码
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String username = "";
String password = "";
request.setCharacterEncoding("utf-8"); //防止中文乱码
username = request.getParameter("username"); //获取用户输入的username的值
password = request.getParameter("password"); //获取用户输入的password的值
//如果用户名和密码都等于admin,则登录成功
if("kang".equals(username)&&"123456".equals(password))
{
//登陆成功,则转发到login_success.jsp页面
session.setAttribute("loginuser", username); //保存username为loginuser
request.getRequestDispatcher("login_success.jsp").forward(request,response);
}
else
{
//登陆失败,则请求重定向到login_failure.jsp页面
response.sendRedirect("login_failure.jsp");
}
%>
在该页面中,首先定义了两个变量,分别用来存放用户提交的username和password;其次是获取用户输入的用户名和密码,并且保存在username和password中;最后是判断是否登录成功,在这里如果用户名和密码都等于admin,则登录成功,并且转发到login_success.jsp页面;如果登录失败,则请求重定向到login_failure.jsp页面。
(3)login_success.jsp和login_failure页面的设计
login_success.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html;" charset="utf-8" />
<link rel="stylesheet" type="text/css" href="css/login.css">
<title>登录页面</title>
</head>
<body class="custom-background">
<div class="all">
<%
String loginUser ="";
if(session.getAttribute("loginUser")!=null)
{
loginUser = session.getAttribute("loginUser").toString();
}
%>
欢迎您<font color="red"> <%=loginUser%> </font>,登陆成功!
</div>
</body>
</html>
在login_success.jsp的页面中,其中
<%
String loginUser ="";
if(session.getAttribute("loginUser")!=null)
{
loginUser = session.getAttribute("loginUser").toString();
}
%>
是用来获取获取用户输入的用户名的,前提是在都login.jsp中保存了用户名:
session.setAttribute("loginuser", username); //保存username为loginuser
而刚刚保存的用户名用于显示用户登陆成功后的信息:
欢迎您<font color="red"> <%=loginUser%> </font>,登陆成功!
login_failure.jsp页面的设计:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html;" charset="utf-8" />
<link rel="stylesheet" type="text/css" href="css/login.css">
<title>登录页面</title>
</head>
<body class="custom-background">
<div class="all">
登陆失败,请检查用户名或密码!
<a href="login.jsp">返回登陆</a>
</div>
</body>
</html>
登录失败,则返回登陆页面。
4. 演示(Chrome浏览器):
(1)登录到login.jsp页面
(2)输入用户名和密码(对的密码:kang 123456):
显示登录成功。
(3)登陆失败(不对的用户名或密码):
点击返回登陆,则返回到登陆界面。
到此,后台登录设计完成。