您的位置:首页 > Web前端 > JavaScript

JSP复习总结

2017-12-26 20:38 323 查看
JSP基础

JSP注释分为显式(客户端可以看见)和隐式注释(不可见)

    显式:  <!---->

    隐式:  //     /**/   <%--  --%>

 

JSP编译指令

    page

    定义一个jsp页面的相关属性。

<%@page 属性=“内容”%>常用import、pageEncoding、errorPage/isErrorPage

<%@pagelanguage="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>


exception的实例代表其他页面的异常和错误。只有当页面是错误处理页面时,即isErrorPage为true时,该对象才可以使用。

errorPage的实质就是JSP的异常处理机制,发生异常时才会跳转到 errorPage指定的页面,没必要给errorPage再设置一个errorPage。所以当errorPage属性存在时, isErrorPage属性值为false。

含有isErrorPage属性表示当前页面是处理异常的页面,不是会产生异常的页面

    include

    静态包含:<%@ include file=”” %>

    静态包含中实际上是将所包含的文件内容导入目标页面,然后再一起进行编译,最后再将一份整体的内容展现给用户,属于先包含,后编译。

    动态包含:<jsp:include page=””>

    动态包含语句可以自动区分被包含的页面是静态还是动态。如果是静态页面,则与静态包含一样,将内容包含进来处理,如果是动态页面,可以先进行动态地处理,然后再将处理后的结果包含进来。

    taglib

    用于定义和访问自定义标签

 

JSP内置对象

    9大内置对象:
pageContext
JSP页面容器
request
得到用户的请求信息
response
服务器向客户端的回应信息
session
保存每一个用户的信息
application
所有用户的共享信息
config
服务器配置,可以获得初始化参数
out
页面输出
page
从页面中表示出来的一个Servlet实例
exception
JSP页面所发生的异常,在错误页面中起作用
 
 
4种属性范围

page:只在一个页面中保存属性,跳转之后无效。

    request:在一次请求中保存属性,服务器跳转后仍然有效。

    session:在一次回话范围中保存,无论何种跳转都可以使用,但是新开浏览器失效。

    application:在整个服务器上保存,所有用户都可以使用。

    操作属性的方法如下:

public void setAttribute(String name ,Objectvalue)
public Object getAttribute(String name)
public void removeAttribute(String name)


request对象

    接收客户端发送而来的请求信息。

request是javax.servlet.http.HttpServletRequest接口的实例化对象,HttpServlet是ServletRequest的子接口。

    常用方法:

   

public String getParameter(String name)
public String[] getParameterValues(Stringname)
public Httpsession getSession()
public String getContextPath()//获得上下文资源路径


解决乱码

   

request.setCharacterEncoding(“utf-8”)


 

response对象

    对客户端的请求进行回应,将Web服务器处理后的结果发回给客户端。

    response是javax.servlet.http.HttpServletResponse接口的实例化对象,HttpServlet是ServletResponse的子接口。

    常用方法

   

public void sendRedirect(String location)throws IOException


   

Session对象

    session最主要的用处是完成用户的登录,注销等常见功能,每一个Session对象都表示不同的访问用户,session对象是javax.servlet.http.HttpSession接口的实例化对象,所以session只能应用在HTTP协议中。

    常用方法:

public String getId()
public void invalidate()//让session失效


application对象

    application对象是javax.servlet.ServletContext接口的实例化对象。

    常用方法:

   

String getRealPath(String Path)//得到虚拟目录对应的绝对路径


 

config对象

    Web目录中必须存在一个WEB-INF文件夹,该文件夹无法被外部所看见,安全性最高。正因为WEB-INF中的文件太安全,外面永远无法访问,可以通过一个映射进行操作。

    例如将index.jsp放在WEB-INF目录中

     
<servlet>
<servlet-name>hello</servlet-name>
<jsp-file>/WEB-INF/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>


上面配置表示,将/WEB-INF/index.jsp的文件映射成为一个/hello的访问路径,程序会自动根据<servlet-mapping>节点中配置的<servlet-name>找到对应的<servlet>节点,并找到<jsp-file>所指定的真是文件路径以执行程序。

    config对象是javax.servlet.ServletConfig接口的实例化对象,主要功能是取得一些初始化的配置信息。

    常用方法:

    public String getInitParameter(String name)

    JSP页面想通过初始化参数取得一些信息,则一定要在web.xml文件中完成映射。

    在<servlet>中配置

   

<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>


pageContext对象

    pageConext对象是javax.servlet.jsp.PageContext类的实例,主要表示一个页面的上下文。

    之前的request、response、config、application、<jsp:include>和<jsp:forward>等操作实际上都可以在pageContext对象中完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息