`
阅读更多
JSP数据交互

编码格式:

一旦一种编码格式已经指定,另外一种编码格式如果不进行指定的话,默认都采用已经指定的编码格式

1.jsp页面本身的编码
pageEncoding:指定jsp页面本身的编码 contentType:浏览器渲染页面的时候采用的编码

<%request.setCharacterEncoding("utf-8");//设置的是request内部保存数据的格
//式,数据不包括url
         %>
1.在request获取出来的数据的编码
以get方式提交数据时,对请求数据进行字符编码
String name=request.getParameter("name");
name=new String(name.getBytes("ISO-8859-1"),"utf-8");
2.改变url编码

2.浏览器渲染页面采用的编码:utf-8

3.服务器保存数据采用的编码(request)ISO-8859-1 编码格式来保存数据的


JSP内置对象:out,request,session...(JSP创建好的对象),共九个

        表单提交的方式methon:
get:显示提交,输入的内容会显示在地址栏中 post:隐式提交,输入的内容不会显示在地址栏中

根据属性‘name’获取值:String name=request.getParameter("name");

重定向:当需要将文档移动到一个新的位置时,就需要使用JSP重定向了(页面地址会改变)

response.sendRedirect();最常用实现重定向的方法

中转站:(session),存值
session.getAttribute("name");//使用定义好的属性的值,是object类型的

转发:(页面地址不会改变)
RequestDispatcher rd =request.getRequestDispatcher("text1.jsp");
rd.forward(request, response);
当前显示的网页地址栏不会随着页面的跳转而改变,只会显示当前打开网页的地址

JS跳转:
out.print("<script>alert('用户名,密码输入不正确!'); location.href='sktext1.jsp';</script>");

内置对象:

out:   输出语句:out.println();

request:作用域:客户端的一次请求

request.setAttribute("name", name);//获取定义好的属性的值,范围是本页面和本页面的上一个页面(两个页面)


response:作用域:只在jsp页面有效

页面重定向:
1.response.sendRedirect(String location);
1.通过响应告诉浏览器该请求这样的一个地址
2.浏览器访问指定的url  302  代表告诉浏览器该重定向一个url了
2.客户端将重新发送请求到指定的url

session:会话跟踪,用个map类来保存数据,但仅限于个人

session.setAttribute("name", name);//获取定义好的属性的值,获取的一直是request.getParameter定义好的

application:全局变量,公交车

request,response和session的异同点:

1.使用的方法大致一样
2.作用范围不一样

四大作用域之page作用域(一般存页面访问次数)

1.page作用域:只在创建该对象的页面使用

四大作用域之session作用域(一般存页面登录信息)

1.session作用域:对应一次会话
对应的访问对象:session对象

四大作用域之application作用域(一般存页面访问次数)

1.对应整个web应用

页面跳转的三种方式:

1.js跳转
2.转发
3.重定向

九大内置对象中存取值的四大内置对象:

page:-》页面 只能当前页面访问,只要本页面有效,不管怎么样跳到其他页面都会存在

request(一般存表单):-》请求 只要不重定向,请求的值就一直会带到下一个页面

session:-》会话 只要浏览器不关闭(不换一个浏览器)session的值就不会丢失

*手动设置session的有效期,而不是关闭浏览器才销毁信息
session.setMaxInactiveInterval(10);-》10秒以后销毁信息

application:-》应用 服务器端关闭会丢失值(安全性不高,只有服务端不关闭,数据会一直保存)

报错形式:

报错语句:
1.404: 路径错误
        任何资源文件只能在WebRoot中,用户也只能访问WebRoot中的内容

引用页面:include -》》 eg:<%@ include file="yanzheng.jsp"%>

Cookie:
Cookie 并不是内置对象,从它的首字母大写就能看出来是一个类  所以需要你自己去new对象

Cookie也是用来存取值的 它是存在客户端的

JSP保存东西 分两端 : 客户端  服务器端

Cookie有一个好处  缓解服务器的压力

代码示例:
//创建Cookie对象 只能保存字符串,不能保存复杂类型
Cookie ci = new Cookie("name","hello");

//设置Cookie的有效期
ci.setMaxAge(36);

//将Cookie对象保存至客户端
response.addCookie(ci);




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics