第一步
login.jsp页面(表单提交方式是用javascript 防止参数暴露)
<form action="dologin.jsp"
name="userlogin"
method="post">
<table class="hou_tabb_lian">
<tr><td>用户登录:
<input id="user" name="user"
type="text"
/></td></tr>
<tr><td>用户密码:
<input id="pwd" name="pwd"
type="password"
/></td></tr>
<tr><td
style="padding:4px 0 0 64px;"><input
type="button" value="登陆" οnclick="login()"
/></td></tr>
<tr><td
style="padding:4px 0 0 64px;"><div
id="login_err"></div></td></tr>
</table>
</form>
<script language="javascript">
<!--登陆非空验证-->
function
login(){
var
user=document.getElementByIdx_x_x_x("user").value;
var
pwd=document.getElementByIdx_x_x_x("pwd").value;
if(user!=""&&pwd!=""){
submit();
}else{
document.getElementByIdx_x_x_x("login_err").innerHTML="帐号密码不能为空";
}
}
function
submit(){
document.userlogin.submit();
}
</script>
第二步
dologin.jsp(处理页)
<body>
<%
//获得帐号密码
String
name=request.getParameter("user");
String
pwd=request.getParameter("pwd");
//调用业务类的方法判断用户是否纯在 可以返回boolean类型
ResultSet
rs=user.login(name,pwd);
if(rs.next()){
Cookie
usersCookie=new
Cookie("name",java.net.URLEncoder.encode(name,"UTF-8"));
usersCookie.setMaxAge(-1);
response.addCookie(usersCookie);
response.sendRedirect("index.jsp");
}else{
response.sendRedirect("login.jsp");
}
%>
</body>
第三步
每一个后台管理页添加cookie判断的代码
checkLogin.jsp
<%
String name="";
boolean has=false;
Cookie
Cookies[]=request.getCookies();
if(Cookies!=null){
for(int
n=0;n<Cookies.length;n++){;
Cookie newCookie= Cookies[n];
if(newCookie.getName().equals("name")){;
has=true;
name=newCookie.getValue();
name=java.net.URLDecoder.decode(name,"UTF-8");
}}}
if(!has){
response.sendRedirect("login.jsp");
}%>
或者在每个后台页面调用
<%@ include file="template.jsp" %>
第四步
cookie退出
loginOut.jsp
<%
//session.invalidate();
Cookie[]
cookies=request.getCookies();
if(cookies!=null)
{
for(int
i=0;i<cookies.length;i++)
{
String
tempuid_1=cookies[i].getName();
if(tempuid_1.equals("name"))
{
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
if(tempuid_1.equals("pwd"))
{
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
}
}
response.sendRedirect("login.jsp");
%>
login.jsp页面(表单提交方式是用javascript 防止参数暴露)
<script language="javascript">
</script>
第二步
dologin.jsp(处理页)
<body>
<%
%>
</body>
第三步
每一个后台管理页添加cookie判断的代码
checkLogin.jsp
<%
boolean has=false;
if(!has){
response.sendRedirect("login.jsp");
}%>
或者在每个后台页面调用
<%@ include file="template.jsp" %>
第四步
cookie退出
loginOut.jsp
<%
//session.invalidate();
Cookie[]
response.sendRedirect("login.jsp");
%>
Cookie cookies[]=request.getCookies();
//读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面Cookie sCookie=null;for(int
i=0;i<cookies.length-1;i++){
//用一个循环语句遍历刚才建立的Cookie对象数组sCookie=cookies[i];
//取出数组中的一个Cookie对象if(sCookie!=null){ if(("cookieName").equals(sCookie.getName())){ pageContext.setAttribute("SavedUserName",sCookie.getValue()); } }//保存用户名到cookiesString
user_name=request.getParameter("user_name");if(!"".equals(user_name)
&&
request.getParameter("RmbUser")!=null){Cookie cookie=new Cookie("usernamecookie",user_name);cookie.setMaxAge(365*24*60*60); //保存365天response.addCookie(cookie); //写COOKIE}
本文详细介绍了网站登录页面的构建与实现过程,包括使用javascript进行非空验证,处理登录请求并设置cookie,以及在后台页面通过cookie进行身份验证。同时阐述了退出机制和cookie的管理方法。
552

被折叠的 条评论
为什么被折叠?



