`
txf2004
  • 浏览: 6873539 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java_web之jsp之pageContext

 
阅读更多

Jsp运行原理与九大隐式对象:

Jsp运行原理:每一个jsp页面第一次打开时,web容易都会把请求转给jsp引擎(java程序)去处理;jsp引擎先将jsp翻译成一个servlet类;然后按照servlet的方式进行调用;

九大隐式对象:request,response,page,pageContext,config,aplication,out,session,exception;

pageContext对象:是jsp技术中重要的一种对象;它代表jsp页面的运行环境,不仅封装了其他八大隐式对象,自己本身还是一个域;可以用来保存数据;

getException方法返回exception隐式对象

getPage方法返回page隐式对象

getRequest方法返回request隐式对象

getResponse方法返回response隐式对象

getServletConfig方法返回config隐式对象

getServletContext方法返回application隐式对象

getSession方法返回session隐式对象

getOut方法返回out隐式对象

pageCotext的与范围是当前jsp页面,相比于其他要小,域对象包括requestsessionaplication(最大)、pageContext(最小)

pageContext属性的方法:

publicvoidsetAttribute(java.lang.Stringname,java.lang.Objectvalue)//设置属性

publicjava.lang.ObjectgetAttribute(java.lang.Stringname)//通过name获取属性;

publicvoidremoveAttribute(java.lang.Stringname)//移走属性,相当于删除;

pageCotext还封装了访问其他域的方法

publicjava.lang.ObjectgetAttribute(java.lang.Stringname,intscope)//数值类型代表范围,范围相当于一个域,分为四个:APPLICATION_SCOPEPAGE_SCOPEREQUEST_SCOPESESSION_SCOPE相当于在指定的域找到这个属性,获取它的值;

publicvoidsetAttribute(java.lang.Stringname,java.lang.Objectvalue,intscope)//

设置属性,并把它放在哪一个域里;

publicvoidremoveAttribute(java.lang.Stringname,intscope)//从哪一个域里移出属性;

代表各个域的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

findAttribute(java.lang.Stringname)方法//查找指定的属性,首先在当前page下查找,如果个没有,到request下逐次到sessionapplication下查找,如果找不到返回null

<%

request.setAttribute("name","username");

//request.getAttribute("name");

Stringvalue=(String)pageContext.getAttribute("name",pageContext.REQUEST_SCOPE);

out.print(value);

%><br>

<%=pageContext.findAttribute("name")%>

PageContext类中定义了一个forward方法和两个include方法来分别简化和替代RequestDispatcher.forward方法和include方法。

方法接收的资源如果以“/”开头,“/”代表当前web应用。

<%pageContext.forword(“url”);%>//跳转到某个路径

<%pageContext.includ(“url”)%>//把某个页面内容包含进来属于动态包含

JSP标签也称之为JspAction(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护。

Jsp标签:

1<jsp:include>

<jsp:include>标签用于把另外一个资源的输出内容插入进当前JSP页面的输出内容之中,这种在JSP页面执行时的引入方式称之为动态引入。

语法:

<jsp:includepage="relativeURL|<%=expression%>"flush="true|false"/>

<%pageCotextinclude=”url”%>;作用相同;

page属性用于指定被引入资源的相对路径,它也可以通过执行一个表达式来获得。

flush属性指定在插入其他资源的输出内容时,是否先将当前JSP页面的已输出的内容刷新到客户端。

<jsp:include>include指令(<%@includefile="relativeURL"%>)的比较:

<jsp:include>标签是动态引入,<jsp:include>标签涉及到的2JSP页面会被翻译成2servlet,这2servlet的内容在执行时进行合并。

include指令是静态引入,涉及到的2JSP页面会被翻译成一个servlet,其内容是在源文件级别进行合并。

不管是<jsp:include>标签,还是include指令,它们都会把两个JSP页面内容合并输出,所以这两个页面不要出现重复的HTML全局架构标签,否则输出给客户端的内容将会是一个格式混乱的HTML文档

2、<jsp:forword>

<jsp:forward>标签用于把请求转发给另外一个资源。

语法:

<jsp:forwardpage="relativeURL|<%=expression%>"/>

page属性用于指定请求转发到的资源的相对路径,它也可以通过执行一个表达式来获得。

3、<jsp:param>//不能单独使用,必须配合前面两个使用;

当使用<jsp:include><jsp:forward>标签引入或将请求转发给其它资源时,可以使用<jsp:param>标签向这个资源传递参数。

语法1

<jsp:includepage="relativeURL|<%=expression%>">

<jsp:paramname="parameterName"value="parameterValue|<%=expression%>"/>

</jsp:include>

语法2

<jsp:forwardpage="relativeURL|<%=expression%>">

<jsp:paramname="parameterName"value="parameterValue|<%=expression%>"/>

</jsp:include>

<jsp:param>标签的name属性用于指定参数名,value属性用于指定参数值。在<jsp:include><jsp:forward>标签中可以使用多个<jsp:param>标签来传递多个参数。

如果想获取的话,直接在将要跳转的页面获取属性,用过getParameter属性

如果值是中文,设置字符编码;

映射JSP

只需在文本页面配好

<servlet>

<servlet-name>SimpleJspServlet</servlet-name>

<jsp-file>/jsp/simple.jsp</jsp-file>

<load-on-startup>1</load-on-startup>

</servlet>

……

<servlet-mapping>

<servlet-name>SimpleJspServlet</servlet-name>

<url-pattern>/xxx/yyy.html</url-pattern>

</servlet-mapping>

如何查找JSP页面中的错误

JSP页面中的JSP语法格式有问题,导致其不能被翻译成Servlet源文件,JSP引擎将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息。

JSP页面中的JSP语法格式没有问题,但被翻译成的Servlet源文件中出现了Java语法问题,导致JSP页面翻译成的Servlet源文件不能通过编译,JSP引擎也将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息。

JSP页面翻译成的Servlet程序在运行时出现异常,这与普通Java程序的运行时错误完全一样,Java虚拟机将提示错误发生在Servlet源文件中的位置(行和列)以及相关信息。

分享到:
评论

相关推荐

    李兴华 java_web开发实战经典 源码 完整版收集共享

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    深入体验Java Web开发内幕

    使您由内而外地明白使用Java进行Web应用开发的全过程——从XML基础知识到HTTP详述及相关体验,从用Tomcat配置Web站点到HttpServletResponse和HttpServletRequest的应用,以及JSP、JavaBean等Java Web开发相关方面都...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    java web 登录验证码生成类

    ${pageContext.request.contextPath}/checkcode.jsp"/&gt; 另外在web.xml中配置验证码类的加载: &lt;servlet-name&gt;CheckCodeImage &lt;servlet-class&gt;com.netshop.common.util.CheckCodeImage&lt;/servlet-class&gt; ...

    java web开发技术大全

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...

    java web技术开发大全(最全最新)

    《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握...

    MLDN+李兴华+Java+Web开发实战经典.part3.rar )

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 上

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器...

    潍坊学院成人教育Java-Web程序设计B卷试卷及参考答案.doc

    潍坊学院成人教育《Java Web程序设计》试卷(B)卷试题及参考答案 一、填空(共 6题,每空 1 分,合计10 分) 1. 超链接标签的 属性用来指定链接地址。 2. mvc思想中,M是 ,V是 ,C是controller。 3. JSP页面中的6个...

    李兴华Java Web开发实战经典.pdf (高清版) Part1

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第一部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...

    李兴华Java Web开发实战经典(高清版) Part2

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 全书分为两部分,需 要全部下载下载一起解压,此部分为第二部分 带有书签,清华大学出版社 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 ...

    Java-Web程序设计题库.doc

    Java Web程序设计题库 一、选择题 1、以下文件名后缀中,只有( C )不就是静态网页的后缀。 A、、html B、、htm C 、JSP D、、shtml 2、以下文件名后缀中,只有( B )不就是动态网页的后缀。 A、、jsp B、、html C、、...

    java web 视频、电子书、源码(李兴华老师出版)

    MLDN 李兴华 Java Web 开发实战经典.pdf (高清版) 第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、...

    Java-Web程序设计题库(2).doc

    Java Web程序设计题库 一、选择题 1、以下文件名后缀中,只有( C )不就是静态网页得后缀。 A、、html B、、htm C 、JSP D、、shtml 2、以下文件名后缀中,只有( B )不就是动态网页得后缀。 A、、...

    李兴华 Java Web 开发实战经典_带源码_高清pdf 带书签 下

    第1章 JAVA WEB开发简介 1.1、WEB发展历程 1.2、企业开发架构 1.3、JAVA EE架构 1.4、JAVA EE核心设计模式 1.5、Struts开发框架 1.6、本章摘要 1.7、开发实战讲解 第2章 HTML、JavaScript简介 2.1、服务器...

    javaweb项目开发思路(通俗易懂)附源码

    1、如何开发项目 (a)了解用户需求(静态DEMO) (b)了解数据设计(表关系) 2、编码 (a)搭建开发框架 1、搭建Struts框架完成页面跳转 2、静态页面复制到工程中 ... /WEB-INF/jsp/main/main.jsp 5、设置默认Action

    java web 期末考试必过宝典

    pageContext :网页的属性是在这里管理; session :与请求有关的会话期; application :servlet 正在执行的内容; out :用来传送回应的输出; config :servlet 的构架部件; page:JSP 网页本身; exception :...

Global site tag (gtag.js) - Google Analytics