jsp的一些基本知识

来源:互联网 发布:程序员媛 编辑:程序博客网 时间:2024/06/01 07:36

jsp – 以java为主的跨平台web开发语言
jsp(java Server Page)
java –> java基础
server –> web服务器tomcat(web logic,JBoss等)
page –> Html
—–可以理解为由java 和 HTML 语言组成的页面 在tomcat中执行
本质: 一个实现了Servlet的Java类 (jsp 由 Jsp 引擎翻译成实现servlet接口的Java类)


看一下一般的jsp页面格式内容

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><%@ include file="/common/header.jsp" %>//引用外部jsp文件<%    /**jsp脚本段--执行顺序1. 靠前先执行**/    request.setAttribute("test", "11");%><script>    /**jquery--执行顺序3. 整个页面加载完毕后再执行**/    $(function(){          /**jsp表达式赋值**/        var test= "<%=request.getAttribute("test")%>";        alert("22"+test);    });    /**在js里--执行顺序2,这块代码先执行 jsp表达式 **/    var test= "<%=request.getAttribute("test")%>";    alert("1" + test);</script></head>    <body>        ...    </body></html>

一、JSP脚本语法
注释: < !– context – >,servlet中会生成,会发给浏览器
<%– context –%> , servlet不生成, 浏览器查看代码时不显示

声明:全局变量,整个页面内有效<%! int t=0 %> 方法 属性

表达式:<%=…%> 如<%= request.getAttribute(“test”)%>

Java脚本段:<% … %> Java代码

指令:<%@ … %>

二、JSP编译器指令

  1. page指令

    <%@ page language=”java” contentType=”text/html; charset=UTF-8”
    pageEncoding=”UTF-8”%>

  2. include 导入

    1)静态导入

<%@ include file=”logo.jsp”%> //logo.jsp只放被别的文件引用的common代码就行了。

这种引用是在jsp引擎转译时,就把此文件内容包含了进去(两个文件的源代码整合到一起,全部放到_jspService方法中),只生成了一个servlet,所以两个页面不能有同名的变量。运行效率高一点点。耦合性较高,不够灵活。

2)动态导入

<jsp:include page=“logo.jsp”></jsp:include>

是在servlet引擎转译后,请求的此页面,所以共生成了两个servlet,可以有同名变量。生成两个servlet,相当于两个类之间的调用,耦合性较低,非常灵活。
静态-动态区别:静态导入会把所导入的代码嵌入到所导入的页面。
动态导入会把所导入的页面先编译好,把结果显示到所导入的页面。
三、内置对象-九种

  • request

HttpServletRequest 请求对象,取客户端表单域信息及 Cookie、header 和 Session;存放的数据在一次request有效

  • response

HttpServletRequest 响应对象,对客户端的响应返回文本,写 cookie;存放的数据在一次 response 有效

  • pageContext

当前页面上下文对象,只在本页有效,可以得到 session、request、application 等内置对象

  • session

表示一个请求的 javax.servlet.http.HttpSession 会话对象,保存用户的信息,跟踪用户的行为,一个用户多个页面共享同一个变量, 存放的数据在一次会话有效。

  • application

javax.servlet.ServletConfig 应用程序对象,存放容器级的变量;多个用户共享该对象,整个web应用运行期有效,可以做计数器。 相当于 servlet的ServletContext 对象

  • out

输出对象 向客户端打印脚本 PrintWriter out = response.getWriter();

  • config

javax.servlet.ServletConfig 配置对象; 可以得到web.xml中的参数,可用于存取servlet实例的初始化参数。

  • page

页面对象,表示从该页面产生一个servlet实例

  • exception

异常对象

四、执行过程

客户端发出请求Web容器将jsp转义成servlet源代码Web容器将产生的源代码进行编译Web容器将加载编译后的代码并执行把执行结果响应至客户端
1 0