Archive for the ‘JSP学习笔记’ Category
星期四, 01月 31st, 2008 206 views
session对象: session对象主要用于保存用户的各种信息,知道它的生命周期(一般是900S)超时或者被人为释放为止 可以通过session对象来判断此用户是否是合法用户 在服务器上通过session来区分每一个上网用户 session对象属于javax.servlet.http.HttpSession接口的实例化对象 session属于HTTP协议范畴之内的对象,所以只有唯一的一个http包下有此接口,没有任何继承关系 用户只要一连接服务器则立刻分配一个session给用户 session的主要方法: 服务器上通过session来分别不同的用户-->sessionID:任何连接到服务器上的用户,服务器都会为之分配唯一一个不会重复的sessionID ...
Posted in JSP学习笔记 | No Comments »
星期四, 01月 31st, 2008 305 views
response对象:服务器端回应客户端的请求
所属接口:javax.servlet.http.HttpServletResponse,其父接口是ServletResponse,而且ServletResponse也现在只有唯一一个HttpServletResponse子接口,主要原因是,现在的J2EE的WEB程序主要以HTTP协议为主要通讯协议。
response对象的功能:
设置头信息:response.setHeader("头信息内容","头信息参数");
常用的刷新refresh,例如:response.setHeader("refresh","1");
几秒后跳转:response.setHeader("refresh","2:URL=XXX");
重定向--response跳转:response.sendRedirect("跳转地址");
此语句执行后,页面地址也变为跳转后的地址
面试中常见问题:两种跳转的区别:
<jsp:forward page="xxx" />:
地址栏不改变--属于服务器端跳转
执行到跳转语句后无条件立刻跳转--之后的代码将不再执行
注意:若使用forward跳转则一定要在跳转前释放掉全部资源;
使用forward时,request设置的属性(setAttribute)依然能保留到下一个页面
通过<jsp:Param name="" value="" />传递参数
response.sendRedirect("跳转地址"):
地址栏改变--属于客户端跳转
页面的所有代码执行完毕之后再跳转
不能保存request属性,地址栏改变了,客户端跳转
通过对URL地址的重写传递参数
设置Cookie
Cookie是服务器端保存在客户端的一组资源
通过Cookie实现保存密码或者多长时间无需再输入密码等功能
设置Cookie的方法:Public Void addCookie(Cookie cookie)
Cookie是通过服务器端设置到客户端上去的--response
如果要在服务器端取得Cookie--request
在request对象中有Public Cookie[] getCookies()方法
在使用request对象取得全部Cookie时会出现JSESSIONID,表示唯一的客户端在服务器上的编号,这个值在客户端第一次访问服务器端之后设置
默认情况下Cookie只针对当前浏览器有效,如果需要长留在计算机上,可以设置Cookie的保存时间,通过设置Cookie最大保留时间方法:setMaxAge()
Posted in JSP学习笔记 | No Comments »
星期二, 01月 29th, 2008 262 views
request对象其实是服务器端接受客户端请求的信息的,在接受信息之后做进一步处理
常用方法:getParameter(),getParameterValues(),getParameterNames()
在接受参数之后若页面中包含中文则会出现乱码,之所以会出现这样根本原因就是此文字不在正常的编码范围之中,解决方法有:
对所有的数据进行在编码:ISO8859-1编码
String类中的getBytes("ISO8859-1") ;
getBytes()方法的定义:Public byte[] getBytes("encoding")再将byte数组重新变为字符串。e.g.String name=new String(request.getParameter("uname").getBytes("ISO8859-1"));
设置同意的字符编码
Public void setCharacterEncoding(String env)
在J2EE中,最大的问题是乱码问题--要做到国际通用
若传递的内容是数组(复选框的情况下、多个下拉列表项)使用request的一下方法取得数据:
Public String[] getParameterValues(String name)
隐藏域是开发中较为常用的表单控件,其作用是将内容隐藏起来,使用户不能修改,之后随表单一起提交到服务器上显示。
地址重写:
通过地址重写,可以将内容传递到服务器端--服务器端只认HTTP协议而不管接受的内容是以何种形式传递过来的,若有多个参数用&连接
★getParameterNames主要用来接受参数名称
Public Enumeration getParameterNames()
取得客户端IP地址的方法:Public String getRemoteAddr()
★★总结:
只要是客户端的信息,在服务器端都可以通过request对象取得
只需要注意中文乱码问题即可
必须掌握的方法getParameter(),getParameterValues(),setCharacterEncoding()
Posted in JSP学习笔记 | No Comments »
星期一, 01月 28th, 2008 190 views
Java中的对象必须先实例化再用:分配内存空间 在JSP中,由WEB容器对对象进行实例化 常见对象及作用域: 对象名 类型 作用域 ...
Posted in JSP学习笔记 | No Comments »
星期六, 01月 26th, 2008 283 views
include指令: <%@include file="uri"%> e.g.<%@include file="hello.jsp"%> include命令可以包含任意文件,它包含的是文件的内容。但是在一个jsp页面中,只能有一组<html>、<head>、<body> 原则:在开发中被包含的文件只写显示部分的HTML代码,主体代码不要出现 包含的时候不区分文件名称、后缀,只是将内容包含进来 包含语句<jsp:include>: ...
Posted in JSP学习笔记 | No Comments »