jsp的一些基本知识

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值