- ServletRequest 对于每一次的HTTP请求Servlet都会创建一个实例并将它传给Servlet的service方法。ServletRequest封装了请求有关的信息。
下面是ServletRequest的接口中的部分方法public int getContentLength() 获取主体请求的字节数,如果不知道字节数的长度返回-1public string getContentType() 获取请求主体的MIME类型,如果不知道类型返回nullpublic string getParameter(string) 获取指定请求的值public string getProtocol() 返回这个http请求的协议名称和版本号
2.ServletResponseServletResponse接口标识一个Servlet的响应。在调用service方法之前,servlet容器会先创建一个ServletResponse,并作为第二个参数传递给service方法。ServletResponse定义其中的一个方法就是getWriter(),它可以把文本返回给客户端的java.io.PrintWriter默认情况下 PrintWriter对象采用iso-8859-1编码还有一个放可以传输给客户端那就是 getOutputStrean 这个方式是传输二进制数的。 可以用来下载文件在发送任何html标签之前,应该先电泳serContentType方法设置响应内容类型,比如text/html3.ServletConfig在servlet初始化时 servlet容器将ServletConfig传递给Servlet的init方法。 这是初始化的参数 可以用注解的方式 @WebServlet 或者 web.xml 配置init-param servlet中获取初始化参数ServletConfig.getInitParameter(string)也可以使用ServletConfig.getInitParameterNames() 返回一个集合 Enumeration此外还有一个方法 ServletConfig.getContext() 这个其实就是 application 公共域。4.ServletContext表示Servlet应用程序,每个Web应用程序只有一个context。在分布式环境中,一个应用同时部署到副哦个容器中,每个容器中都会有一个ServletContext对象ServletConfig.getServletContext()就可以得到 ServletContext 二通过ServletContext就可以添加获取程序中共享的资源信息getAttribute(string) 获取getAttributeNames() 返回一个Enumeration对象setAttribute(string,string) 添加removeAttribute(string) 删除
4.HttpServletRequest继承自ServletRequest 增加的几个主要方法getContextPath() 返回请求的URI部分getCookies() 返回一个Cookies数组getHeader(string) 返回指定的HTTP表头的值getMethod() 返回发出这个请求的HTTP方法的名称getQueryString() 返回请求URL中查询的字符串getSession() 默认为true 没有session时创建一个新的 为false时 没有返回nullgetRequestURI() 得到除了具体请求的地址
5.HttpServletResponse
HttpServletResponse是http环境的servlet响应。
addCookies(cookie) 给响应添加cookie
setHeader(name, value):如果Header中没有定义则添加,如果已定义则用新的value覆盖原用value值。
addHeader(name, value):如果Header中没有定义则添加,如果已定义则保持原有value不改变。
sendRedirect(location) 发送响应代号,将浏览器重新定位到指定位置
每个JSP页面都会别编译成一个servlet文件。 page就是当前servlet页面的实例
pageContext就是当前页面的上下文
6.EL表达式 ${}
EL表达式的[] 和. 运算符 el表达式中是一个对象那么可以使用[] 和. 访问属性 比如 ${object["a"]} 和 ${object.a} el表达式中尽量使用[]来访问属性。
${pageContext["request"]["servletPath"]}得到 pageContext 的request属性 再从中得到servletPath属性
访问HttpSession ${pageContext.session}
运算规则: expr-a[expr-b] :先运算
EL的隐世对象:
page:是当前页面的实例
pageContext javax.servlet.jsp.PageContext 的实例,该对象代表该JSP 页面上下文,使用该对象可以访问页面中的共享数据。常用的方法有getServletContext和getServletConfig等。包涵下面的所有隐世对象
,initParam(web应用初始化时的参数)
,param,包含所有请求参数并以请求名作为key,相同的key得到第一个
paramValue:key相同的参数的数组,只有一个也返回数组
header,发回请求标头 以标头名作为key
headerValues:
cookie,包含当前对象的所有cookie 。cookie的名称就是key
applicationScope,servletContext对象的属性 作为key
sessionScope。httpsession对象的属性的作为key
JSTL
使用JSTL的核心库 <%@ taglib uri = "" prefix="c" %>
if标签
<c:if test="textCondtion" var ="a" >aaaaaaaaaa</c:if>
tets判定 test="${request.user=='yanghs' && request.password = '12345'}"
forEach iterator 标签
<c:forEach begin = "begin" end="end" step="step"></c:forEach>