JSP小知识

JSP小知识

一、基础知识

1、简介
JSP(Java Server Pages),JSP运行先转换为Servlet文件(.java)编译class文件,JSP相当于一个Servlet

2、page指令

(1)pageEncoding ---- 指定页面编码格式
(2)contentType --- 文档类型

 - HTML 格式 ----- text/html 
 - 纯文本格式 ----- text/plain 
 - JPG图像 ----- image/jpeg
  -  GIF图像 ----- image/gif
  -  Word文档 ----- application/msword
(3)errorPage : 指定错误页面
(4)isErrorPage: 是否为错误页面,错误页面JSP内置Exception对象的exception
(5)language: 解析该jsp文件采用的语言
(6)session: JSP内内置Session对象,默认true

3、pageContext作用范围

(1)PageContext.PAGE_SCOPE:表示页面范围
(2)PageContext.REQUEST_SCOPE:表示请求范围
(3)PageContext.SESSION_SCOPE:表示会话范围
(4)PageContext.APPLICATION_SCOPE:表示Web应用程序范围

4、基本组件

(1)request----用户端请求,包含GET/POST请求的参数
(2)response ---- 网页传回用户端的回应
(3)pageContext ---- 网页的属性
(4)session ---- 与请求有关的会话期
(5)application ---- servlet正在执行的内容,一个web项目共享
(6)page ---- JSP网页本身

5、语法
(1)隐藏注释: <%-- --%>
(2)声明: <%! declaration;[declaration;]+…%>
(3)表达式: <%= expression%>

6、标签
(1)<jsp:forward>:重定向
(2)<jsp:include>:包含文件
(3)<jsp:useBean>:创建一个Bean实例并指定名字和作用范围
(4)<jsp:setProperty>:设置Bean中的属性值
(5)<jsp:getProperty>:获取Bean中的属性值

7、JavaBean
(1)JavaBean是描述Java的软件组件模型
(2)表现形式:Java程序
(3)可实现代码的重复利用

二、常用方法

1、Parameter

(1)Enumberation getParameterNames(): 返回form中对象名称的枚举
(2)String getParameter(String name):返回指定名称的对象值
(3)String[ ]  getParameterValues(String name) :返回指定名称的对象值数组
(4)Map getParameterMap()

2、Attribute

(1)void  setAttribute(String name,Object value) :设置属性
(2)Oject  getAttribute(String name) :返回属性值
(3)void removeAttribute(String name) 
(4)Enumberation  getAttributeNames():返回属性名称

3、URL

(1)String getContextPath()
(2)String getServletPath()
(3)String getPathInfo()

4、State

(1)Cooie[ ]  getCookies():取得Cookie数组;
(2)HttpSession getSession()
(3)HttpSession getSession(Boolean create) 

5、response(HttpServletResponse)

(1)PrintWriter getWriter()
(2)void addCookie(Cookie c) 
(3)String encodeURL(String URL) 
(4)void sendRedirect(String URL) 
(5)void sendError(int errorCode) 

6、session(HttpSession)

(1)void  setAttribute(String name,Object value) :设置属性
(2)Oject  getAttribute(String name) :返回属性值
(3)void removeAttribute(String name) 
(4)Enumberation  getAttributeNames():返回属性名称
(5)void seMaxInactiveInterval(int seconds)  (6)void Invalidate()

7、pageContext(PageContext)

(1)void  setAttribute(String name,Object value) :设置属性
(2)Oject  getAttribute(String name) :返回属性值;
(3)void removeAttribute(String name) 
(4)Enumberation  getAttributeNames():返回属性名称
(5)Object findAttribute(String name) 
(6)HttpServletRequest getRequest()
(7)HttpSession getSession()
(8)ServletContext getServletContext()
(9)JspWriter getOut()

8、application(ServletContext)

(1)void  setAttribute(String name,Object value) :设置属性
(2)Oject   getAttribute(String name) :返回属性值;
(3)void removeAttribute(String name) 
(4)Enumberation   getAttributeNames():返回属性名称
(5)RequestDispather  getRequstDispather(String URL)
(6)String getInitParameter(String name) 
(7)getServletInfo()  获得Servlet的信息

9、out
(1)JSPWriter的一个实例, 用于发送响应给客户端
(2)方法:

   print(String)/println(String) 用于向页面输出          
   print(int)/println(int)          
   flush() 刷新out对象的缓存

10、exception
(1) 用于异常对象的异常实例;
(2) 异常页面在page指令中存在属性 isErrorPage=“true”;
(3) 方法:
getMessage() / printStackTrace() / toString()

三、相关知识

1、EL函数属性范围

Page --------- pageScope
Request-----------requestScope
Session --------- sessionScope
Application --------- applicationScope

2、EL的隐含对象

(1)PageContext  ------javax.servlet.ServletContext ------表示此JSP的PageContext

(2)PageScope  ----- java.util.Map -----取得Page范围的属性名称所对应的值

(3)RequestScope  -----  java.util.Map ------ 取得Request范围的属性名称所对应的值

(4)sessionScope  ------  java.util.Map ----- 取得Session范围的属性名称所对应的值

(5)applicationScope -------  java.util.Map ----- 取得Application范围的属称所对应的值

(6)param  -----  java.util.Map  -----ServletRequest.getParameter()

(7)paramValues -----  java.util.Map -----ServletRequest.getParameterValues

(8)header  ----   java.util.Map  -----ServletRequest.getHeader(String name)        

(9)headerValues  ----  java.util.Map  -----ServletRequest.getHeaders(String name)    

(10)cookie  ---- java.util.Map -----HttpServletRequest.getCookies( )

(11)initParam   -----  java.util.Map   ----ServletContext.getInitParameter()

3、cookie对象
(1)文本文件
(2)存在于浏览器的暂存区

4、pageContext对象

${pageContext.request} ----- 取得请求对象
${pageContext.session} ----- 取得session对象   
${pageContext.request.queryString}-----取得请求的参数字符串
${pageContext.request.requestURL}-----取得请求的URL,但不包括请求之参数字符串
${pageContext.request.contextPath}-----服务的web application的名称
${pageContext.request.method} ----- 取得HTTP的方法(GET、POST)
${pageContext.request.protocol} ----- 取得使用的协议(HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} ----- 取得用户名称
${pageContext.request.remoteAddr } ----- 取得用户的IP地址
${pageContext.session.new} ------ 判断session是否为新的,所谓新的session,表示刚由	                                         server产生而client尚未使用
${pageContext.session.id} -----取得session的ID
${pageContext.servletContext.serverInfo}-----取得主机端的服务信息
posted @ 2020-03-04 09:05  李泽坤  阅读(110)  评论(0编辑  收藏  举报