J2ee注册的跳转和cookiesessionWord文档下载推荐.docx
《J2ee注册的跳转和cookiesessionWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《J2ee注册的跳转和cookiesessionWord文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
http:
//www.w3.org/2001/XMLSchema-instance"
xmlns="
//xmlns.jcp.org/xml/ns/javaee"
xsi:
schemaLocation="
//xmlns.jcp.org/xml/ns/javaeehttp:
//xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="
WebApp_ID"
version="
3.1"
<
display-name>
libraryproject<
/display-name>
welcome-file-list>
welcome-file>
index.html<
/welcome-file>
index.htm<
index.jsp<
default.html<
default.htm<
default.jsp<
/welcome-file-list>
filter>
<
filter-name>
userFilter<
/filter-name>
filter-class>
com.chinasofti.eec.filter.UserFilter<
/filter-class>
/filter>
filter-mapping>
url-pattern>
/*<
/url-pattern>
/filter-mapping>
/web-app>
UserFilter.java
packagecom.chinasofti.eec.filter;
importjava.io.IOException;
importjavax.servlet.Filter;
importjavax.servlet.FilterChain;
importjavax.servlet.FilterConfig;
importjavax.servlet.ServletException;
importjavax.servlet.ServletRequest;
importjavax.servlet.ServletResponse;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassUserFilterimplementsFilter{
@Override
publicvoiddestroy(){
//TODOAuto-generatedmethodstub
}
publicvoiddoFilter(ServletRequestarg0,ServletResponsearg1,FilterChainarg2)
throwsIOException,ServletException{
HttpServletRequestreq=(HttpServletRequest)arg0;
HttpServletResponseresp=(HttpServletResponse)arg1;
req.setCharacterEncoding("
utf-8"
);
resp.setCharacterEncoding("
arg2.doFilter(arg0,arg1);
publicvoidinit(FilterConfigarg0)throwsServletException{
}
2通过cookie来存储登录的次数
Login.jsp
%@pagelanguage="
java"
contentType="
text/html;
charset=utf-8"
pageEncoding="
%>
!
DOCTYPEhtmlPUBLIC"
-//W3C//DTDHTML4.01Transitional//EN"
"
//www.w3.org/TR/html4/loose.dtd"
html>
head>
metahttp-equiv="
Content-Type"
content="
title>
Inserttitlehere<
/title>
/head>
body>
formaction="
login"
method="
post"
divalign="
center"
用户名:
inputtype="
text"
name="
user"
br/>
密&
nbsp;
&
码:
password"
pwd"
<
radio"
date"
value="
0"
checked="
checked"
每次登陆都需要
10"
10天内
30"
30天内<
submit"
btn"
登录"
&
注册"
/div>
/form>
/body>
/html>
LoginServlet.java
packageservlet;
importjavax.servlet.ServletContext;
importjavax.servlet.annotation.WebServlet;
importjavax.servlet.http.HttpServlet;
@WebServlet("
/login"
)
publicclassLoginServletextendsHttpServlet{
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
this.doPost(req,resp);
protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{
Stringbtn=req.getParameter("
Stringname=req.getParameter("
Stringpwd=req.getParameter("
if("
.equals(btn)){
if("
admin"
.equals(name)&
"
.equals(pwd)){
ServletContextctxt=getServletContext();
intcount=0;
if(ctxt.getAttribute("
count"
)==null){
count=0;
}else{
count=Integer.parseInt(ctxt.getAttribute("
).toString());
}
count++;
ctxt.setAttribute("
count);
resp.sendRedirect("
index.jsp"
}
}
Index.jsp
charset=UTF-8"
left"
fontcolor="
blue"
访问次数<
%=application.getAttribute("
)%>
/font>
3通过cookie来存储对用户密码进行存储
内置对象来进行变量参数的赋值,通过req.getParament与req.setAttribute(”key”,vlaue)
right"
h1>
<
red"
欢迎<
%=session.getAttribute("
userName"
登录
/h1>
%
Stringusername=null;
Stringpwd=null;
Cookie[]c=request.getCookies();
if(c!
=null&
c.length!
=0){
for(Cookieco:
c){
if(co.getName().equals("
username"
)){/*不同页面中传值的变量是的双引号是键值*/
username=co.getValue();
/*同一个页面中传值的变量是自己本页面定义的变量不能直接拿,servlet中要通过req,resp来进行值的传递*/
}elseif(co.getName().equals("
userpwd"
)){
pwd=co.getValue();
if(username!
=null&
pwd!
=null){%>
%request.getRequestDispatcher("
login?
user="
+username+"
pwd="
+pwd+"
btn=登录"
).forward(request,response);
importjavax.servlet.http.Cookie;
StringtimeLength=req.getParameter("
/*name属性选择器中是页面上可以看见的键值变量*/
intdays=0;
if(timeLength!
=null){
days=Integer.parseInt(timeLength);
if(days!
Cookieusernamecookie=newCookie("
name);
Cookieuserpwd=newCookie("
pwd);
usernamecookie.setMaxAge(days*24*3600);
userpwd.setMaxAge(days*24*36000);
resp.addCookie(usernamecookie);
resp.addCookie(userpwd);
req.getSession().setAttribute("
name);