欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jsp数据交互

程序员文章站 2022-03-06 09:48:26
...
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);