• JSP数据交互(一)


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

  • 相关阅读:
    一种不求交点确定直线与三角形是否相交的方法
    碰撞边界锯齿的平滑方法
    demo的凹凸贴图效果
    MySQL进阶篇触发器
    MySQL进阶篇索引
    Maven的POM文件详解
    Swagger
    MySQL进阶篇存储过程
    SpringBoot基础篇
    MySQL基础篇多表操作
  • 原文地址:https://www.cnblogs.com/qinzhenyu/p/11114780.html
Copyright © 2020-2023  润新知