jsp

作者: 金石_832e | 来源:发表于2019-04-29 23:26 被阅读0次

    jsp的本质就是一个servlet,tomcat会把jsp文件编译成servlet的一个实现类。jsp的风格类似于html,只不过其中可以插入java代码。


    隐式对象

    在jsp中没有new一个对象,却可以用该对象调用方法,这样的对象称为隐式对象。

    jsp中9大隐式对象

    final javax.servlet.http.HttpServletRequest request
    final javax.servlet.http.HttpServletResponse response
    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    // 还有exception对象,一共9个
    
    • ①request:客户端的请求信息被封装在request对象中,发给服务器。
    • ②response:服务器接到客户端的请求后,将响应的信息封装到response对象中,响应给客户端。(jsp中很少使用)。
    • ③pageContext:页面的上下文,是PageContext的一个对象,可以从该对象中获取到其他8个隐含对象,也可以获取到当前页面的其他信息
    • ④session:指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,知道客户端与服务器断开连接为止
    • ⑤application:代表当前web应用,是ServletContext对象,能实现用户间数据的共享,可存放全局变量,它开始于服务器的启动,直到服务器的关闭,在此期间,此对象一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命周期
    • ⑥config:当前JSP对应的Servlet的ServletConfig对象,可获取该Servlet的初始化参数(开发时基本不用),需要通过映射的地址才可以。
    • ⑦out:JspWriter对象,调用out.println()可以直接把字符串打印到浏览器上
    • ⑧page:page对象就是指向当前JSP页面本身,类型为Object,有点类似于类中的this,几乎不使用
    • ⑨exception:该对象是一个例外对象,只有页面是一个错误页面,即isErrorPage设置为true的时候(默认为false)才能使用,否则无法编译。

    域对象

    pageContext:对属性的作用域为当前页面。
    request:对属性的作用域为同一个请求。
    session:对属性的作用域为打开关闭一次浏览器(默认,可更改)。
    application:对属性的作用域为整个服务周期。

    域对象最重要的方法

    void setAttribute(String,Object) 设置属性
    Object getAttribute(String) 获取属性


    请求转发和请求重定向

    它们都能实现资源跳转
    ①请求转发只有一次请求,重定向有两次
    ②请求转发不能看见最终申请资源的URL,而重定向可以
    ③请求转发只能转发站内资源,重定向可以请求站外资源(web-info)
    请求转发的方法:
    request.getRequestDispatcher("/login_success.jsp").forward(request, response);
    请求重定向的方法
    response.sendRedirect("login_fail.jsp");


    如果jsp文件放在web-info文件夹中,不能通过输入网址直接访问该jsp!servlet中也不能重定向到该jsp,只能转发到该jsp!


    servlet中的映射不能重复,一个servlet一个映射!

    相关文章

      网友评论

          本文标题:jsp

          本文链接:https://www.haomeiwen.com/subject/wrjpnqtx.html