码迷,mamicode.com
首页 > Web开发 > 详细

JSP

时间:2016-03-26 15:25:10      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:

JSP

一、jsp是什么

      JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

  JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。 二、jsp的运行原理:

  每个JSP 页面在第一次被访问时, JSP 引擎将它翻译成一个 Servlet 源程序, 接着再把这个 Servlet 源程序编译成 Servlet 的 class 类文件. 然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。

三、jsp的隐含变量  

  没有声明就可以使用的对象. JSP页面一共有 9 个隐含对象.   使用 <% %> 编写的代码在此位置. 可以用到 request, response, pageContext, session   application, config, out, page 这 8 个隐含对象. (实际上还可以使用一个叫 exception 的隐含对象)

①. request: HttpServletRequest 的一个对象. *

②. response: HttpServletResponse 的一个对象(在 JSP 页面中几乎不会调用 response 的任何方法.)

③. pageContext: 页面的上下文, 是 PageContext 的一个对象. 可以从该对象中获取到其他 8 个隐含对象. 也可以从中获取到当前 页面的其他信息. (学习自定义标签时使用它) ④. session: 代表浏览器和服务器的一次会话, 是 HttpSession 的一个对象.

⑤. application: 代表当前 WEB 应用. 是 ServletContext 对象. *

⑥. config: 当前 JSP 对应的 Servlet 的 ServletConfig 对象(几乎不使用). 若需要访问当前 JSP 配置的初始化参数,

⑦. out: JspWriter 对象. 调用 out.println() 可以直接把字符串打印到浏览器上.

⑧. page: 指向当前 JSP 对应的 Servlet 对象的引用, 但为 Object 类型, 只能调用 Object 类的方法(几乎不使用)

⑨. exception: 在声明了 page 指令的 isErrorPage="true" 时, 才可以使用.

四、jsp指令  

  JSP指令(directive)是为JSP引擎而设计的,  它们并不直接产生任何可见输出, 而只是告诉引擎如何处理JSP页面中的其余部分。  

  在目前的JSP 2.0中,定义了page、include 和 taglib这三种指令     page指令用于定义JSP页面的各种属性, 无论page指令出现在JSP页面中的什么地方,  它作用的都是整个JSP页面, 为了保持程序的可读性和遵循良好的编程习惯, page指令最好是放在整个JSP页面的起始位置。

 ①. import 属性: 指定当前 JSP 页面对应的 Servlet 需要导入的类.    <%@page import="java.lang.*"%>

 ②. session 属性: 取值为 true 或 false, 指定当前页面的 session 隐藏变量是否可用, 也可以说访问当前页面时是否一定要生成  HttpSession对象. 服务器创建session是很耗资源的,所以在合适的地方不生成session也是一种优化。  <%@ page session="false" %>  

③. errorPage 和 isErrorPage:  

> errorPage 指定若当前页面出现错误的实际响应页面时什么.

其中 / 表示的是当前 WEB 应用的根目录.  <%@ page errorPage="/error.jsp" %>  

> 在响应 error.jsp 时, JSP 引擎使用的请求转发的方式.

 > isErrorPage 指定当前页面是否为错误处理页面, 可以说明当前页面是否可以使用 exception 隐藏变量. 需要注意的是: 若指定  isErrorPage="true", 并使用 exception 的方法了, 一般不建议能够直接访问该页面.    > 如何使客户不能直接访问某一个页面呢 ? 对于 Tomcat 服务器而言, WEB-INF 下的文件是不能通过在浏览器中直接输入地址的方式  来访问的. 但通过请求的转发是可以的!

 > 还可以在 web.xml 文件中配置错误页面:

<error-page>
   <!-- 指定出错的代码: 404 没有指定的资源, 500 内部错误. -->
    <error-code>404</error-code>
    <!-- 指定响应页面的位置 -->
    <location>/WEB-INF/error.jsp</location>
</error-page>

<error-page>
<!-- 指定异常的类型 -->
    <exception-type>java.lang.ArithmeticException</exception-type>
    <location>/WEB-INF/error.jsp</location>
</error-page>

 

 ④. contentType: 指定当前 JSP 页面的响应类型. 实际调用的是 response.setContentType("text/html; charset=UTF-8");  通常情况下, 对于 JSP 页面而言其取值均为 text/html; charset=UTF-8. charset 指定返回的页面的字符编码是什么. 通常取值为 UTF-8  <%@ page contentType="application/vnd.ms-excel" %>  当前页面的数据生成excel  

⑤. pageEncoding: 指定当前 JSP 页面的字符编码. 通常情况下该值和 contentType 中的 charset 一致.  

⑥. isELIgnored: 指定当前 JSP 页面是否可以使用 EL 表达式. 通常取值为 false.

 

JSP

标签:

原文地址:http://www.cnblogs.com/jalja/p/5322967.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!