jsp知识点

include指令和<jsp:include>动作的区别
–inlcude指令读入指定页面的内容并把这些内容和原来的页面融合到一起。这个过程发生在JSP转化成Servlet的阶段,最终所合成的JSP文件被Servlet容器转化成Servlet。如果一个JSP页面使用include指令包含了另一个JSP页面,最终也只产生一个Servlet的Java源文件和一个class文件。相当于兵合一处,将打一方。
–使用<jsp:include>动作包含其他JSP页面,本质是调用了被包含文件所转化的Servlet对象的jspService()方法。即所被包含的JSP文件也对应有生成的Servlet源文件和class文件。如果一个JSP页面使用include动作包含了另一个JSP页面,会产生两个Servlet源文件和两个class文件。
JSP动作
–forward动作用来把当前的JSP页面重定向到另一个页面(同一个Web应用中的HTML文件、JSP页面、Servlet)。
–地址还是当前页面的地址。内容则是另一个页的内容。
–不带参数的forward动作:<jsp:forward page="url"/>
带参数的include动作
注释
–HTML注释(输出注释):指在客户端查看源代码时能看见注释。例如,

<!--this is an html comment.it will show up int the response. -->

–JSP页注释(隐藏注释):指注释虽然写在JSP程序中,但不会发送给客户,因此在客户端查看源代码时不能看见注释。这样的注释在JSP编译时被忽略掉。

<%--thisis a JSP comment.it will only be seen in jsp code--%>

–Java注释:只能出现在Java代码区中,不允许直接出现在页面中。//单行注释  /*多行注释*/
JSP的执行过程
–客户端发出请求。
–Web容器将JSP转译成Servlet源代码。
–Web容器将产生的源代码进行编译。
–Web容器加载编译后的代码并执行。
把执行结果响应至客户端
JSP的异常处理机制
–撰写一个JSP“错误页面”:异常处理文件中需要使用page指令的isErrorPage属性。
•格式:  <%@ page isErrorPage=“true”%>
•如果在页面上进行了这样的设置,页面就具有了一项特殊的功能,能够访问异常对象exception。该对象是JSP的内置对象,当页面在运行过程中产生异常时,会抛出异常对象exception,该对象包含了异常信息。

<%=exception%>

exception.printStackTrace(new PrintWriter(out));
–在JSP内指定异常发生时应该回应到哪个“错误页面”
要想让页面产生异常的时候,由专门的异常处理文件对异常进行处理,需要在该页面中使用page指令的errorPage指定专门的异常处理页面,
•格式:<%@ page errorPage="异常处理文件"%>
输入和输出对象
•request对象
–request隐式对象表示客户端的请求,包含了所有的请求信息,常用的方法:
•StringgetParameter(String name):根据页面表单组件名称获取请求页面提交的数据。
•StringgetParameterValues(String name):获取页面请求中一个表单组件对应多个值时的用户的请求数据(例如复选框)。
•response对象
–response隐式对象处理JSP生成的响应,然后将响应结果发送给客户端,常用的方法:
•void setContentType(String name):设置作为响应生成的内容的类型和字符编码。
•void sendRedirect(String name):发送一个响应给浏览器,指示其应请求另一个URL(会丢失数据,跳转后不再执行sendRedirect方法下面的代码)。
•out对象
–out对象表示输出流,此输出流将作为请求的响应发送到客户端,常用方法有print()、println()、和write()。
作用域通信对象
pageContext对象
–pageContext对象使用户可以访问当前页面作用域中定义的所有隐式对象。pageContext对象常用的方法:
•getRequest()、getServletConfig()、getSession()等
•voidsetAttribute(String name, Object value)
•voidgetAttribute(String name)
session对象
–session对象表示用户的会话状况,用此项机制可以轻易识别每一个用户,能保存和跟踪用户的会话状态。session对象最常用的方法:
•voidsetAttribute(String name, Object value)
•voidgetAttribute(String name)
application对象
–application对象作用于整个应用程序,所有的客户端窗口都可以共享该对象,从服务器开始就存在,直到服务器关闭为止。application对象最常用的方法:
•voidsetAttribute(String name, Object value):以名称/值的方式,将一个对象的值存放到application中(存的值的类型为Object)。
•voidgetAttribute(String name):根据名称去获取application中存放对象的值(获取的值的类型为Object)。
•设置context初始参数。在web.xml文件适当的位置增加内容:

<context-param>

  <param-name>website</param-name>

  <param-value>www.sohu.com</param-value>

</context-param>

在JSP页面中,使用applicatin对象的getInitParameter()方法可以取得website参数对应的参数值。在Servlet中用ServletContext对象的同名方法获得参数值。

•使用log()方法记录日志。
可以使用application对象提供的log()方法,实现日志记录功能,在Tomcat服务器中,记录的日志都保存在Tomcat根目录的logs目录下。日志内容分成不同文件进行记录。例如,

<%application.log(“SunWuKong is here”);%>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值