JSP及其相关技术

    xiaoxiao2021-03-25  121

    JSP(Java Server Pages) 是一种用于开发动态Web应用的一项技术。

    能够在任何web 或应用服务器上运行能将程序逻辑与页面显示分开开发采用标签简化页面开发组件可重用(JavaBean)

    JSP运行机制

    可以把执行JSP页面的执行分成两个阶段,一个是转译阶段,一个是请求阶段。 转译阶段:JSP页面转换成Servlet类。 请求阶段:Servlet类执行,将响应结果发送至客户端。

    用户(客户机)访问响应的JSP页面,如http://localhost:8080/Prj_test/ch02/HelloJSP.jsp。服务器找到相应的JSP页面。服务器将JSP转译成Servlet的源代码。服务器将Servlet源代码编译为class文件。服务器将class文件加载到内存并执行。

    服务器讲class文件执行后生成HTML代码发送给客户机,客户机浏览器根据响应的HTML代码进行显示。

    如果该JSP页面为第一次执行,那么会经过这两个阶段,而如果不是第一次执行,那么将只会执行请求阶段。这也是为什么第二次执行JSP页面时明显比第一次执行要要快的原因。

    如果修改了JSP页面,那么服务器将发现到该修改,并重新执行转译阶段和请求阶段。这也是为什么修改页面后访问速度变慢的原因。

    JSP基本语法

    JSP由五个部分组成: 1. HTML页面内容 2. JSP注释(<!-- 这部分会在客户端页面显示的注释-->,<%--这部分不会在客户端显示--%>) 3. JSP指令(page指令<%@page 属性1=“属性值1” 属性2=“属性值2”%>,include指令,taglib指令) 4. JSP脚本元素(申明语句,表达式,JSP Scriptlet)来使用Java语言 5. JSP动作元素

    说明: 3.1.page指令共包含13个指令:

    language:申明脚本使用的语言,目前只支持Javaextends: 制定JSP 页面产生的Servlet继承的父类。import: 程序编译时需要导入的类包。session: 页面是否可使用sessionbuffer :输出缓冲区大小,默认8kbautoFlush:当输出缓冲区要溢出是是否强制输出缓冲区内容isTreadSafe:是否支持多线程info: 设置JSP页面相关信息,使用servlet.getServletInfo()获取。ErrorPage 制定错误处理页面isErrorPage 指定JSP页面能否处理错误contentType: JSP编码方式(默认:text/html默认字符集charset=ISO-8859-1 如:contentType=“text/html;charset=ISO-8859-1” )pageEncoding:页面编码格式isELIgnored: 是否支持EL表达式

    3.2.include指令(文件加载指令,用于在JSP插入文本或代码文件): 如 : <%@ include file="被包含的文件(可以是HTML或JSP文件)地址(一般使用相对路径)"%> 3.3.taglib指令(引用标签库): 如:<%@ taglib uri="taglibraryURI" prefix="tagPrefix"%>

    4.1 JSP声明语句(如:<%! int i=1; %>也可以申明方法如: public String getStr() { return "hello"; }) 4.2 JSP 表达式 (如<%=表达式%>如<%=i%>) 4.3 JSP Scriptlet (如<%Java 代码%>)

    5.JSP动作元素包括:

    <jsp:include page="被包含的路径" flash="true|false" > 与page中的include不同,include 只是简单地包含文件,而动作元素会运行时对文件处理,逻辑和语法上是独立的。<jsp:forward page="转向的页面" ><jsp:param name="" value=""> 如: <jsp:include page="includedPage.jsp">    <jsp:param name="i" value="1"> </jsp:include> 则includedPage.jsp可以通过request.getParameter(“i”);获取值。<jsp:plugin type="applet|bean" > 可以将服务端的Javabean或applet下载到客户端执行。<jsp:useBean id="beanInstanceName" class="className" scope="request|page|session|application"/><jsp:setProperty name="对应上面id" property="propertyName" value="value"/><jsp:setProperty name="对应上面id" property="propertyName"/>

    JSP内置对象 1. request      设置编码格式setCharacterEncoding("UTF-8") 2. response     添加cookie addCookie(Cookie c)             添加头部 addHeader(String name,String Value)           添加类型setContentType(String contentType)           重定向sendRedirect(String url) 3. pageContext   通过其获得request response session application config 4. session     清空sessionvoid invalidate() 5. application 6. config    servletConfig对象 在重载servlet init()时经常用到。 7. page     指的是页面对象 8. exception 9. out

    转载请注明原文地址: https://ju.6miu.com/read-23803.html

    最新回复(0)