Day10(--JSP与JSP内置对象)

一、JSP

1.   java Server Pages,sun提供的一种动态的web资源底层原理是Servlet

2.   HTML、Servlet、JSP的区别

l  HTML:显示数据

l  Servlet:Java代码,可以向浏览器输出HTM,JSP的运行时会编译成Servlet去输出到浏览器

l  JSP:Java+HTML

3.   JSP的执行流程:

l  浏览器发送数据到tomcat,tomcat中有JSP引擎

l  第一次访问jsp时,将jsp翻译成一个servlet

l  修改后第一次访问,重新翻译成一个servlet

l  servlet 响应:Response 响应到浏览器

4.   注释

l  HTML注释:<!---->查看源中可以看到  servlet可以看到

l  Java注释: /* */ //  查看源中不可以看到 servlet可以看到

l  jsp注释:  <%--%>     jsp注释在servlet不可以看到

5.   注意:

l  HTML模板:JSP中包含HTML模板,所有的HTML标签随便写,最后通过Writer输出

l  Java代码:  写在<%%>中,所有的代码都会移植到编译成的servlet的service方法中

l  Server中不能直接定义方法可以通过声明 <%! %>可以声明方法和成员变量

l  表达式:<%=%> 表达式,用于输出,相当于out.print();

l  指令:<%@指令名称 属性=’值’ 属性=’值’> 多个属性可以使用空格分隔

6.   page:页面的配置信息

l  ContendType:告诉浏览器响应的编码和类型

l  import:导包

l  ErrorPage:jsp出现异常后跳转的页面

l  isErrorPage:(true)如果是错误页面,可以得到错误信息

l  404不能去isErrorPage页面,404不是异常,是找不到的,false可以

l  Session:如果为true,则可以获取session的内置对象,默认值为true

l  pageEncoding:翻译成Servlet时,解析JSP时的编码,响应的类型和编码

7.   Taglib:导标签库

l  <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

        <c:if test="<%=2 > 1 %>">

         //执行

  </c:if>

8.   include:包含

l  静态包含:(指令)包含的jsp和被包含的jsp合并成一个servlet  包含时,上边的变量,下面可以使用

<%@ include file=”/”%>  /代表当前应用 

l  动态包含:(标签)包含的jsp和被包含的jsp都会生成不同的servlet,最终合并了输出流

<jsp:include page=”/”></jsp :include> 可以没有子标签,不在同一行,必须存在子标签

9.   异常的处理:就近原则

l  方式一:在page指令中添加errorPage属性,说明出项异常后的跳转页面(只能是异常)不是404错误

配置页面:<%@ page  pageEncoding="UTF-8" errorPage="/error.jsp"%>

错误页面:<%@ page  pageEncoding="UTF-8" isErrorPage="true"%>

显示错误信息:<%=exception.getMessage() %>

l  方式二:在web.xml配置错误的类型和错误编码,可以配置出现404时跳转的页面


错误跳转:不能跳转到isErrorPage为true的页面,它只接受异常

<error-page>

    <error-code>404</error-code>

    <location>/error.jsp</location>

  </error-page>

异常跳转:

  <error-page>

    <exception-type>java.lang.NullPointerException</exception-type>

    <location>/error.jsp</location>

</error-page>

二、jsp中的九大内置对象:


对象名称


类型


备注


request


javax.servlet.http.HttpServletRequest


请求


response


javax.servlet.http.HttpServletResponse


响应


session


javax.servlet.http.HttpSession


 


application


javax.servlet.ServletContext


上下文


config


java.servlet.ServletConfig


 


out


java.servlet.jsp.JapWriter


èresponse.getWriter()


page


javax.servlet.Servlet


Servlet当前引用


exception


java.lang.Exception


异常


pageContext


java.servlet.jsp.PageContext


获取上8个内置对象

l  pageContext 可以获取其他8个内置对象

l  //有简化的转发和包含功能(请求的调度)dispatcher

l  pageContext.forward("/index.jsp");   转发

l  request.getRequestDispatcher("/index.jsp").forward(request, response);

l  pageContext.include("/myHead.jsp");  包含

l  request.getRequestDispatcher("/myHead.jsp").include(request, response);

l  //查找域中的属性,pageContext,request,session,application 范围为域对象的有效范围才可以查找到

l  out.println(pageContext.findAttribute("username"));

l  ps:响应可以实现重定向 response.sendRedirect("/index.jsp");   /代表tomcat根目录

三、四大域对象(作用范围)

1.   application:整个应用

l  application.setAttribute("username", "lisi");设置

l  <%=application.getAttribute("username")%>    获取

l  pageContext.removeAttribute("username");     设置后需要删除,不然一直存在

2.   session:同一会话,jsessionID一样

l  session.setAttribute("username", "zhangsan");设置

l  <%=session.getAttribute("username") %>       获取

3.   request:当前页面,共享请求时,比如转发和包含

l  request.setAttribute("username", "zhangsan");设置

l  <%=request.getAttribute("username") %>       获取

l  设置转发和包含时,可以作用到转发到的页面和包含当前页面的页面!

l  <%@ include file="10pageContext.jsp" %>      包含

l  request.getRequestDispatcher("/testpageContext.jsp").forward(request, response);转发

4.   pageContext:当前页面

l  pageContext.setAttribute("username", "zhangsan");设置

l  <%=pageContext.getAttribute("username") %>       获取

时间: 2024-12-07 01:13:36

Day10(--JSP与JSP内置对象)的相关文章

JSP中的内置对象和Struts中的Web资源的详解

JSP中的内置对象有如下几种: request :继承于HttpServletRequest, HttpServletRequest继承ServletRequest, 获得的Request对象的方法:只能在Servlet中获取的doGet()和doPost()方法中获取 作用:封装用户请求信息 response   : 继承于HttpServletResponse,   HttpServletResponse继承ServletResponse 获得response对象的方法:只能在Servlet

ASP,ASP.net,JSP语法、内置对象对比

1 各自的HelloWord版本 1.1 ASP <%  Response.Write("hello asp") %> 文件名为test.asp. 1.2 ASP.net <%@ page Language="C#" %> <%  Response.Write("hello asp.net"); %> 文件名为test.aspx. 需要注意的是由于ASP.net支持多种语言开发,而默认的语言是VB.net,这里

jsp学习笔记 - 内置对象 pageContext

1.pageContext几乎可以操作所有的页面内置对象 pageContext.getRequest();    得到的对象只是属于ServletRequest类,httpServletRequest的一些特殊属性,成员函数用不了 pageContext.getResponse(); pageContext.getServletContext(); pageContext.getSession(); pageContext.getServletConfig(); 2.pageContext 属

JSP学习笔记 - 内置对象 Request

1.主要掌握以下5个内置对象及其所属类,必须学会在java docs里根据类名查找相应的方法 request     javax.servlet.http.HttpServletRequest response  javax.servlet.http.HttpServletResponse session    javax.servlet.http.HttpSession pageContext  javax.servlet.jsp.PageContext application   javax

【Java基础】——JSP九个内置对象

何为JSP? 要解释JSP的九个内置对象,必须先要搞懂何为JSP?JSP全称Java Service Pages中文:Java服务器页面.其实看到JSP学过.NET都可能对想到ASP,没错,两者确实很像.ASP是在HTML页面中加入C#用于显示层,像后台传递数据之类.而JSP是在HTML页面注入Java语言,便于向后端传递信息.JSP从本质上来分析就是一个简化版的Servlet.而jsp和Servlet的区别就是,jsp需要Servlet容器先编译成Servlet类,然后才能运行它. 在Tomc

JSP学习笔记--内置对象

1. JSP内置对象分类 (1)application:javax.servlet.ServletContext的实例,该实例代表JSP所属的WEB应用本身,可用于JSP页面,或者Servlet之间交换信息.常用的方法有getAttribute(String attName), setAttribute(String attName,String attValue)和getInitParameter(String Param)等. (2)config:javax.servlet.ServletC

Jsp有哪些内置对象?作用分别是什么?

Page,pageContext,request,response,session,application,out,config,exception Page指的是JSP被翻译成Servlet的对象的引用. pageContext对象可以用来获得其他8个内置对象,还可以作为JSP的域范围对象使用,pageContext中存的值是当前的页面的作用范围 request代表的是请求对象,可以用于获得客户机的信息,也可以作为域对象来使用,使用request保存的数据在一次请求范围内有效 Session代

一个例子说明Jsp三大重要内置对象的生命周期

此处Jsp的三大内置对象指:request,session以及application.他们共有的方法:setAttribute,getAttribute,方法名和方法作用都是相同的,但是作用范围不一样,这与这3个对象的作用范围有关.用以下简单的访问者计数例子说明: <body> <%if(application.getAttribute("count")==null) { application.setAttribute("count", 1);

jsp 有哪些内置对象?作用分别是什么? 分别有什么方 法?

JSP共有以下9种基本内置组件 request对象          客户端请求,此请求包含来自GET/POST的请求参数,通过它才能了解到客户的需求,然后做出相应. response对象        响应客户端的请求的有关信息. session对象          它之客户端与服务起的一次会话,从客户端到服务器的一个WebApplication开始,直到客户端与服务器的链接断开为止. out 对象               它是JspWriter类的实力,是向客户端输出内容常用的对象 p

jsp有哪些内置对象作用分别是什么 分别有什么方法?

JSP共有以下9个内置的对象: request 用户端请求,此请求会包含来自GET/POST请求的参数 response 网页传回用户端的回应 pageContext 网页的属性是在这里管理 session 与请求有关的会话期 application servlet 正在执行的内容 out 用来传送回应的输出 config servlet的构架部件 page JSP网页本身 exception 针对错误网页,未捕捉的例外 request:表示HttpServletRequest对象.它包含了有关