原创精品 Servlet 课堂笔记 三.docx

上传人:b****3 文档编号:2847161 上传时间:2022-11-15 格式:DOCX 页数:13 大小:53.29KB
下载 相关 举报
原创精品 Servlet 课堂笔记 三.docx_第1页
第1页 / 共13页
原创精品 Servlet 课堂笔记 三.docx_第2页
第2页 / 共13页
原创精品 Servlet 课堂笔记 三.docx_第3页
第3页 / 共13页
原创精品 Servlet 课堂笔记 三.docx_第4页
第4页 / 共13页
原创精品 Servlet 课堂笔记 三.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

原创精品 Servlet 课堂笔记 三.docx

《原创精品 Servlet 课堂笔记 三.docx》由会员分享,可在线阅读,更多相关《原创精品 Servlet 课堂笔记 三.docx(13页珍藏版)》请在冰豆网上搜索。

原创精品 Servlet 课堂笔记 三.docx

原创精品Servlet课堂笔记三

1.同一用户的不同页面共享数据4method[important]

(不同页面即不同servlet)

A.cookie技术

B.sendRedirect()转向

C.隐藏表单(form)

D.session技术

2.cookie

服务器在客户端保存用户的信息,比如登录名,密码

3.cookie用处

a.保存用户名,密码,在一定时间不用重新登录

b.记录用户访问网站的喜好(eg,无背景音乐,网页的背景色是什么)

c.网站的个性化,比如定制网站的服务,内容。

4.sendRedirect()方法

通过该方法将信息传送给下一个页面,eg:

sendRedirect(“welcome?

username=ltl”);的形式

优点:

传送信息的速度比较快

缺点:

它只能传送字符串,而不能传送一个对象

5.sendRedirect(“welcome?

username=ltl”);的形式:

注意点:

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("");

pw.println("");

pw.println("

登录界面

");

pw.println("");//表单

pw.println("用户名:


");

pw.println("密码:


");

pw.println("
");

pw.println("

");

pw.println("");

pw.println("");

}

catch(Exceptione)

{

e.printStackTrace();

}

}

//处理post请求

//req用于获得客户端(浏览器)的信息

//res用于向客户端(浏览器)返回信息

publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)

{

this.doGet(req,res);

}

}

//用户验证servletLoginprocess.java

packagecom.ltl;

importjavax.servlet.http.*;

importjava.io.*;

publicclassLoginprocessextendsHttpServlet

{

//处理get请求

//req用于获得客户端(浏览器)的信息

//res用于向客户端(浏览器)返回信息

publicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)

{

//业务逻辑

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

{

//不合法

//跳转

res.sendRedirect("login");//写你要到的servlet的那个url

}

}

catch(Exceptione)

{

e.printStackTrace();

}

}

//处理post请求

//req用于获得客户端(浏览器)的信息

//res用于向客户端(浏览器)返回信息

publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)

{

this.doGet(req,res);

}

}

//欢迎界面Welcome.java

packagecom.ltl;

importjavax.servlet.http.*;

importjava.io.*;

publicclassWelcomeextendsHttpServlet

{

//处理get请求

//req用于获得客户端(浏览器)的信息

//res用于向客户端(浏览器)返回信息

publicvoiddoGet(HttpServletRequestreq,HttpServletResponseres)

{

//得到从loginprocess传递的用户名

Stringu=req.getParameter(“username”);

//得到从loginprocess传递的密码

Stringp=req.getParameter(“password”);

//业务逻辑

try

{

PrintWriterpw=res.getWriter();

pw.println("welcomehello"u+”password=”+p);

}

catch(Exceptione)

{

e.printStackTrace();

}

}

//处理post请求

//req用于获得客户端(浏览器)的信息

//res用于向客户端(浏览器)返回信息

publicvoiddoPost(HttpServletRequestreq,HttpServletResponseres)

{

this.doGet(req,res);

}

}

21.隐藏表单

这是最常见的一种方式,也是最简单的,但有时该技巧非常管用,形如:

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.网上商城中的购物车

b.保存登录用户的信息

c.将某个数据放入到Session中,供同一用户的各个页面使用

d.防止用户非法登录某个页面

现实现b和c的功能

29.保存登录用户的信息

//登录界面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("");

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1