@Ablechen
2019-07-07T02:35:41.000000Z
字数 4523
阅读 727
<!-- -->
JSP的表达式
<%= 表达式或者变量%>
30*1254=<%= 30*1254 %>
<%! int a = 5; %>
i的值为<%= i%>
编译指令主要用来设定JSP程序的属性
9. page指令
针对当前页面,设置其相关的属性和功能
<%@page attribute1="value1" attribute2="value2" %>
这里需要注意的是在设置属性的值的时候,两个属性之间是空格
进行多个包的导入的时候,要分别导入,分别对import属性进行赋值
也可以将所有的包放在一个import的后面,但是不好看,推荐使用第一种
pageEncoding: 进行设置JSP源文件保存时使用的编码格式(用于服务器的字符编码格式)
errorPage: 用于指定发生页面错误的时候,调用哪一个JSP页面
isErrorPage: 指定当前页面是否可以作为一个另一个JSP页面的错误页面使用
isThreadSafe: 来设定当前JSP页面是否指出多线程操作,默认值为true
include指令
是一个静态指令,将外部的一个文件包含到此JSP页面中
类型通常为html, jsp, 文本文件
out是一个javax.servlet.jsp.JspWriter对象,是一个带有缓冲的流,主要的作用是从服务器端向客户端发送字符串。其中的缓冲的大小可以通过page指令中的buffer进行设定。
主要使用的方法
1. println()
2. print()和java中的作用一样
3. getBufferSize()返回缓冲区的大小(使用buffer进行设置缓冲的大小的时候格式 buffer="mkb"
获取关于请求的内容信息
getCharacterEncoding():获得请求中的字符编码格式
得到的结果可能是null,那就说明的是http头中还没有指定编码格式,然后服务器进行解析的时候默认采用ISO-8859-1
getContextPath():获得的是URL中的指定请求的URL
getRequestURL(): 获得URL的全部路径
getRequestURI(): 获得文件的相关路径(端口号之后的地址)
getProtocol():
getMethod():见名知意
getCookies(): 获得的是客户端的cookie数组
获取request中的携带的参数
getAttribute(String name):用于获得name指定的属性值
getAttributeName():返回request对象的所有属性的名字
getParameter(String name): 返回指定名字的参量
getParameterName(): 返回一个Enumeration对象。包含了所有的Parameter的名字
getParameterNameValues():返回了一个包含所有值的数组。
setAttribute(String name, Object object): 用于设定名为name的request的参数,object为name的值
关于getAttribute(Stirng name)和getParamter(String name)之间的区别,使用getParamter方法的时候获得的是重定向页面之间的字符串传递,而getAttribute方法可以用于页面之间跳转的对象,和session一起使用的时候,能够保存数据传递
response对象是一个javax.servlet.HttpServletResponse接口的实现对象,用于封装对客户端的响应,向客户端发送信息。
经常用于设置HTTP标题,添加cookie,发送http重定向,编码URL
经常使用的几种重要方法
为了在一次响应之后还能够继续保存该客户端的相关信息,所以产生了session对象
javax.servlet.http.HttpSession接口的实现类
默认情况下,一个浏览器会独占一个session对象
- getId():用于得到session的ID,每一个session都有一个独一无二的sessionID
- getMaxInactiveInterval():获得session的有效时间
- setMaxInactiveInterval(): 设置session的有效时间
- getServletContext(): 返回该JSP页面所对应的ServletContext对象实例
此对象是javax.servlet.ServletContext接口的实现类,用于多个用户共享数据
作用范围是从服务器开始到服务器结束
主要使用到的一些方法
- getInitParameter(String name): 获得初始化中的指定属性的值
- getInitParameters(): 返回所有的初始化的值的集合(Enumeration对象)
- getRealPath(): 返回虚拟路径所对应的物理路径
- getContext(): 返回当前应用ServletContext的对象
代表JSP本身,只有在JSP页面之内有效,很少使用
用于获取其他的内置对象:request, response, session, application等
对于内置对象属性的读取和写入
- getAttribute(String name, int scope): 返回指定名称name, 范围是scope的属性对象
- getAttributeNamesInScope(int scope):返回所有属性范围为scope的属性名称
- setAttribute(String name, Object value, int scope): 指定属性的名称为name, 值为value, 范围为scope
```jsp
Enumeration enum = pageContext.getAttibuteNamesInScope(PageContext.APPLICATION)
while(enum.hasMoreElements())
out.println(enum.nextElement());
作用获取服务器的配置信息,实现了javax.servlet.ServletConfig接口
一般使用pageContext的getServletConfig()来获取该对象
getContext(): 返回ServletContext对象
针对异常进行相应的处理
在使用exception对象的时候一定要在page标签中设置isErrorPage为true
getMessage():返回错误信息