原创精品 Servlet 课堂笔记 三Word文档下载推荐.docx
《原创精品 Servlet 课堂笔记 三Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《原创精品 Servlet 课堂笔记 三Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
的形式
优点:
传送信息的速度比较快
缺点:
它只能传送字符串,而不能传送一个对象
5.sendRedirect(“welcome?
的形式:
注意点:
a.welcome代表你要跳转的那个servlet的url
b.servleturl名和变量之间有?
号
c.如要传递两个以上的值,它们间要用&
号分开
eg.sendRedirect(“welcome?
username=ltl&
password=123”);
d.如果传递的是中文,则会得到乱码,需处理一下
19.通过sendRedirect()可以将一个页面信息传递给另外的页面
eg.在welcome页面中显示登录用户的姓名可以使用该方法
20.
//登录界面Login.java
packagecom.ltl;
importjavax.servlet.http.*;
importjava.io.*;
publicclassLoginextendsHttpServlet{
//处理get请求
//req用于获得客户端(浏览器)的信息
//res用于向客户端(浏览器)返回信息
publicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)
{
//业务逻辑
try
//中文乱码处理
res.setContentType("
text/html;
charset=gbk"
);
PrintWriterpw=res.getWriter();
//返回登录界面
pw.println("
<
html>
"
body>
h1>
登录界面<
/h1>
formaction=loginClMethod=post>
//表单
用户名:
inputtype=textname=username>
br>
密码:
inputtype=passwordname=password>
inputtype=submitvalue=login>
/form>
/body>
/html>
}
catch(Exceptione)
e.printStackTrace();
}
//处理post请求
publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)
this.doGet(req,res);
}
//用户验证servletLoginprocess.java
publicclassLoginprocessextendsHttpServlet
{
try
{
//接收用户名和密码
Stringu=req.getParameter("
username"
Stringp=req.getParameter("
password"
//验证
if(u.equals("
sq"
)&
&
p.equals("
123"
))
{
//合法
//跳转到welcome
res.sendRedirect("
welcome?
username=”+u+”&
password=”+p"
else
//不合法
//跳转
login"
//写你要到的servlet的那个url
catch(Exceptione)
e.printStackTrace();
publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)
this.doGet(req,res);
//欢迎界面Welcome.java
publicclassWelcomeextendsHttpServlet
//得到从loginprocess传递的用户名
Stringu=req.getParameter(“username”);
//得到从loginprocess传递的密码
Stringp=req.getParameter(“password”);
//业务逻辑
PrintWriterpw=res.getWriter();
pw.println("
welcomehello"
u+”password=”+p);
e.printStackTrace();
21.隐藏表单
这是最常见的一种方式,也是最简单的,但有时该技巧非常管用,形如:
fromaction=login>
inputtype=hiddenname=avalue=b>
/from>
22.通过隐藏表单也可以将一个页面信息传递给另外的页面
eg.在welcome页面中显示登录用户的姓名也可以使用该方法
23.什么是Session
当用户打开浏览器,访问某个网站时,服务器就会在服务器的内存为该浏览器分配一个空间,该空间被这个浏览器独占。
这个空间就是session空间,该空间中的数据默认存在时间为30min,你也可以修改。
A:
服务器分配给A客户端的session空间
B:
服务器分配给B客户端的session空间
C:
服务器分配给C客户端的session空间
24.Session可以用来做什么?
a.网上商城的购物车
b.保存登录用户的信息
c.将某些数据放入到Session中,供同一用户的各个页面使用
d.防止用户非法登录到某个页面
……
25.如何理解Session
可将session看作一张表,这张表有两列。
而表有多少行,理论上没有限制,每一行就是session的一个属性
每个属性包含有两个部分,一个是该属性的名字(String),另一个是它的值(Object)
26.如何使用Session
a.得到session
HttpSessionhs=request.getSession(true);
b.向session添加属性
hs.setAttribute(Stringname,Objectval);
a.从session得到某个属性
Stringname=hs.getAttribute(Stringname);
b.从session删除某个属性
hs.removeAttribute(Stringname);
27.Session的注意事项
A.session中属性存在的默认时间是30min,你可修改它存在时间:
a.修改web.xml
b.在程序中去修改
B.30min指的是用户间隔时间(发呆时间),而不是累计时间
C.当某个浏览器访问网站时,服务器会给浏览器分配一个唯一的sessionid,并以此来区分不同的浏览器(即客户端)
D.因为session的各个属性要占用服务器的内存,因此软件公司都在迫不得已的情况下才使用
28.Session应用实例
session是非常重要的,也是非常有用的技术,在网站开发中可以完成的功能很多,比如:
a.网上商城中的购物车
c.将某个数据放入到Session中,供同一用户的各个页面使用
d.防止用户非法登录某个页面
现实现b和c的功能
29.保存登录用户的信息
//登录界面Login.java