JavaWeb之JSP

来源:互联网 发布:java执行sql查询语句 编辑:程序博客网 时间:2024/05/28 19:23

1JSP的本质是Servlet,那么Servlet中所有的方法都可以用到JSP中,当第一次请求JSP页面时,JSP会被翻译成Servlet源程序,接着再把源程序翻译成Servlet的class文件,最后由Web容器(Tomcat)像调用Servlet程序一样的方式,来装载和解释这个由JSP页面翻译成的Servlet程序。

2JSP的隐含对象:request 、response、pageContext、session、application、config、out和page(还有excepiton)。

request是一个HttpServletRequest对象,response是一个HttpServletResponse对象,但是response很少在JSP页面中使用。

pageContext是ServeletContext对象,代表Web应用。

config是ServletConfig对象访问JSP配置的初始化参数,需要通过映射的地址才可以

3.JSP的模板元素。

4.JSP的表达式<%=%>

5.JSP的脚本片段:Java代码和JSP表达式混合使用时产生脚本片段。

6.JSP声明<%!%>在JSP页面中几乎不使用这个方法。

7.JSP的注释:<%-- 注释内容--%>而<!-- -->是HTML的注释代码。

8.JSP一般放在除WebContent中WEBINF中的任何目录中。

9.和属性相关的方法:

(1)void setAttribute(String name,Object o)

(2)Ojbect getAttributeNames()

(3)Enumeration getAttribute(String name)

(4)void removeAttribute(String name)

pageContext、request、session和application都有着四个方法,作用域顺序pageContext<request<session<application。

pageContext的作用域是当前页面;

request限于同一个请求;

session的作用域是一次回话;(浏览器打开或者关闭称为一次会话)

application:作用域是当前web应用程序。

10:请求转发和请求重定向

(1)转发。

1.1)调用HttpServletRequest的getRequestDispatche(String path)path是转发的地址r获取RequestDispatcher对象

1.2 )调用forward(request,response)进行转发

(2)sendRedirect(String name)的重定向;

11.请求和重定向的区别

(1)本质区别:请求转发只发出一次请求,而重定向则发出了两次请求。

具体特点:第一:转发时地址栏的地址不会发生变化,重定向时地址栏的地址会发生变化。第二:转发时是同一个Request对象,重定向时是不同的Request对象。

第三:转发只是可以再当前web应用内进行转发,但是重定向可以向任意的资源进行重定向。第四:转发是当前web应用的根目录,转发是当前站点根目录(不包括应用程序的目录)

12.JSP指令标签<%@%>

(1)include 其中file属性的值是相对路径,加载include文件是在把JSP页面翻译成Servlet时加载。

(2)page:<%@page import="java.util.*"  language="java" extends="package.class"(当前jsp页面翻译成servlet需要继承哪些类) session="true/false" errorPage="url" isErrorPage="true/false" ContextType=“”text/html“ pageEnconding="uft" isELIgnored=“true”%>其中errorPage指定当前页面出错的实际响应页面是什么, 其中/是指当前web应用的根目录,其响应方式是转发。isErrorPage是和exception对象配合使用。此外还可以在web.xml文件中通过<error-page><error-page>配置errorPage页面。Tomcat不能通过web页面访问WEB-INF页面,但是通过请求转发是可以访问页面。ContextType实际上调用的是response.setContextType(String type)方法,对于JSP页面其值取text/html。

(3)taglib

13:JSP标签

<jsp:include page="url"></jsp:include>动态包含页面,通过一个方法将页面包含在当前页面,在JSP页面执行期间插入加载资源。

<jsp:forward></jsp:forward>转发

以上两者都可以使用<jsp:param></jsp:param>进行传递参数,可以使用request.getParameter(String name)来获取参数值。

0 0