jsp数据交互Word格式.docx
《jsp数据交互Word格式.docx》由会员分享,可在线阅读,更多相关《jsp数据交互Word格式.docx(6页珍藏版)》请在冰豆网上搜索。
request.setCharacterEncoding("
UTF-8"
);
---在接受的地方
GB2312<
GBK<
GBK18030支持中文
UTF—8国际通用码(编码的方式)页面编码方式和处理过程的时候的编码方式要统一。
重定向:
response.sendRedirect("
me.jsp"
-----重定向,跳转到某个页面。
客户提交请求。
response服务器对客户端的响应
客户端重定向。
的特点:
1客户端浏览器会显示要访问的最终页面。
而不是刚开始的请求的页面2一共经历了两个请求。
第一个请求到response之上的最后一句代码结束。
第二个从response开始到最终访问的页面响应给客户就结束。
response.sendRedirect("
"
。
(隐含了客户对服务器的请求。
)服务器的
用于跳转中间界面,只是使用了中间页面的操作。
不需要中间页面的显示。
一般情况下中间的页面含有了对第一个请求的处理。
(列如检查)
1客户端重定向可以跳转到外部的项目和网站
2客户端重定向地址栏能和显示的内容统一起来
3效率相对较慢
将数据从第一个请求过渡到第二个请求。
浏览器和窗口还是不一样的。
浏览器的关闭和窗口的关闭是2回事
404--没有找到访问的资源。
Session没有泛型必须强制类型转换
//多个请求中传递,共享数据的对象。
会话对象。
//生命的周期-------浏览器打开发出第一个请求,开始,结束的时候:
//1session会话的时间到期了默认30分钟,可以设置
//2浏览器关闭后,session不一定还存在,只是意义不大,因为重启session之后,就会产生新的session
//session.getId()------获取session的ID号
之前的request对象一遇到response.sendRedirect()就结束了。
这个请求的死期到了。
session的内容
window.open----子窗口,单仭然是属于一个浏览器下的视窗。
访问第一个视窗的时候,产生请求的时候,就会产生session
application的区别的话,
application实现用户的数据共享,appliacation是全局对像,
保存的是安全性不高的数据。
系统的全局变量,事项web的数据共享。
session和cookie的区别。
1session是会话级别的对象,session可以保存在一个浏览器的打开之后和关闭之前。
每个浏览器和一个session相对应,
重新开启一个浏览器,就相当于创建了session对象。
application------和web应用服务器相关。
是应用程序级别的对象,让多个用户共享数据,
周期是第一个用户打开第一个浏览器进行第一个访问产生applation,到web应用服务器(关闭)
或者改变了底层代码之后,tomacat进行热部署,,同样导致application死亡。
cookie是服务器保存客户端的文本信息,
区别:
1从安全上来讲
1session比较安全,session的数据在服务器端
cookie只适合保存那些不需要很安全的数据。
cookie比较不安全。
(因为cookie的数据在客户端)。
从效率上来讲,session比较慢,cookie访问比较快。
通常cookie和session是绑定在一起的。
cookie一般通过设置
存活时间来改变cookie的存活的周期。
1request的两种方式:
postget的区别
1get:
超级链接的请求直接地址栏输入请求通过javascript的请求。
2post:
表单请求可以是post也可以是get但一般是post的
安全上的区别:
1get一般是随访问地址一起发送数据,数据不安全,post是body加密传送,数据安全的。
采用的是url重写的方式。
get请求之后的的地址栏会带有访问的数据。
2发送数据的大小区别:
get的数据容量比较的小,256字节,post请求发送的数据大小不受限制
3从速度上加以区别:
get的速度快,post则慢
4解决乱码方式不一样,
post:
setChracterEncoding()解决乱码的请求
request.setCharacterEncoding("
get解决乱码的方式。
get的编码方式---支持纯英文的编码方式。
字符窜方式----先将乱码还原为(英文下的编码方式)---->
以中文的编码方式.还原出来。
username=newString(username.getBytes('
iso8859-1'
),'
UTF-8'
)
session的生命周期:
session一般为30分钟的时间。
1session是会话级别的对象,
使得session失效,session.invalidate();
----注销的时候,当前session中的数据全部丢失,就是session的内容清空。
1session保存的数据全部丢失,2session死亡
3重新在开启浏览器发出新的请求。
就会产生新的session.
设置session的存活的时间,
1session.setMaxInactiveInterval(7000);
---改变存活的时间,
2在web.xml中改变存活时间---以分钟为单位
<
session-config>
<
session-timeout>
60<
/session-timeout>
/session-config>
jsp做大的强项,是显示数据和提供数据,不使用jsp来访问数据库,
虽然jsp也可以访问数据库,但是为了凸显JSP的强项,利于后期维护,
通过servlet开控制业务流程,让servelet和DAO层打交道,DAO层封装了数据的操作。
做到分工明确,各司其职。
在页面中,引入别的页面文件。
%@includefile="
A"
%>
A是个样式文件,这个文件只是含有头文件,和body中的内容,其余的就不需要了。
编译的时候就已经加入了。
请求是静态包含,页面请求之前预编译了。
所有页面进来之后,一起处理。
所有代码加入之后一起处理。
编译为一个servelet
jsp:
includepage="
head.jsp"
>
----动作指令。
所有代码分别处理,在页面请求的时候才编译,被编译成多个servelet,页面语法独立,处理完成之后再将代码的显示结果组合进来。
Jsp中的Java代码和html的代码要尽量地分开.java用<
%%>
分开就好。
Cookie的使用
Cookie中存数据的模式是键值得关系,通过getName()方法获取键,
getValue()----获取值
%
Cookie[]cookies=request.getCookies();
CookiecurrentCookie=null;
if(cookies!
=null){
for(Cookiecookie:
cookies){
if(cookie.getName().equals("
cookieusm"
)){
currentCookie=cookie;
break;
}
}
}
%>
Stringuserna=request.getParameter("
username"
Cookiecookie=newCookie("
userna);
cookie.setMaxAge(60*60*24*7);
response.addCookie(cookie);
Application的使用:
Integercount=(Integer)application.getAttribute("
kk"
if(count==null){
count=1;
}else{
count+=1;
application.setAttribute("
count);
out.println("
count:
+count);
Request的方法:
request.getParameter("
userName"
Application,session中的方法也是键值的方式存数据,需要强制类型转换。
Application.setAttribute("
session.setAttribute("
logname"
username);
(Integer)application.getAttribute("
(String)session.getAttribute("
Cookie的方法:
cookie.getName()
cookie.getValue()