JSP入门以及浏览器发出URL请求后发生的一系列动作浅析

    JSP全称为java server page,即java服务器页面技术,广泛应用于动态页面中。它包括了静态部分与动态部分,是运行于服务器中的一种页面技术。因为它的HTML里边有可能会包含了java代码,而浏览器端是不存在编译器的,所以只能在服务器中运行,以完成编译,运行的过程,最后再返回html到客户端(具体的过程,会在下文中详细解释)。
    首先我们来进行JSP页面的结构分析。前面讲到,一共分两大部分。
静态部分:包括html,css,javascript(包括注释)。
动态部分:就是新接触到的JSP元素。
(注意,所谓动态,不是指网站上的动画之类,而是会随着服务器数据变动而改变显示内容的部分。
动态部分又分为如下几种元素:
1.指令
 第一类是编译指令,顾名思义是指在编译时起作用,而不会有任何输出,例子如下:
<%@ page  属性名="值" %>        导入的类的说明, 编码集
                        <%@ include file="文件名.jsp" %>    包含另一个页面,这将有利于减少代码的冗余( 公用的模块 )
                        <%@ taglib  prefix="前缀名" uri="定义标签地址" %>    导入标签库.
例:   <%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%>
这是在myecilpse中创建JSP页面时自动生成的一段编译指令。


 第二类是动作指令,一般进行一些动作处理,因为这些指令破坏了一贯的MVC架构,不建议使用,稍作了解即可。


2.脚本
 第一类是小脚本,就是最普通的脚本。是进行逻辑和业务操作的java代码段。格式如: <% Java代码 %>
 第二类是声明,作用基本上是跟小脚本相同,但是小脚本是局部的,而声明可以定义全局的。格式如: <!% 代码 %>(下面会有详细说明)
         第三类是表达式,用于输出,格式:  <%=值 %>

3.注释,就是注释,但要注意跟html注释的不一样地方,格式:  <% //我是注释  %>(下边也会有详细说明。)
 
4.九大内置对象,这是JSP的一个重点所在,详情上csdn其他博客上找找。






下边,是对九九乘法表进行输出的三种不同的表达方式:


小脚本方式:
<%
//九九乘法表
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.println(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
%>






    利用内置对象输出:
      <%
//九九乘法表,内置对象方法输出
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
out.println(i+"*"+j+"="+(i*j)+"&nbsp;&nbsp;");
}
out.println("<br/>");
}
%>
    
   
表达式输出:
      <%
//九九乘法表,表达式方法输出
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
%>
<%=i%> * <%=j%> = <%=i*j%> &nbsp;&nbsp;
      <%
}
  %>
<br/>
      <%
}
  %>




    接下来说一下JSP中的一些注意事项。第一,是静态包含,include包含的是java源代码,即将两个页面的jsp代码翻译成java后,再合并到一起,然后进行编译,所以要避免两个页面中出现的相同的变量发生冲突。第二,小脚本与声明的不同,脚本中定义的变量是局部变量,而加了!的声明中的是全局变量,且脚本中不能定义方法,但是声明中可以定义方法。第三,关于注释。HTML注释是会跟随生成的HTML页面一起发送到客户端中,用户可以查看底层页面看到HTML代码的。所以HTML解释是会耗流量,不建议多用。而JSP注释是跟JSP其他元素一样只存在于服务器端,编译后生成的HTML页面中是不会包括JSP注释的,而不会发送到客户端去的,不会消耗流量。
    最后说一说当我们从浏览器发出URL请求之后所发生的一系列动作,这有助于我们了解JSP整个过程中的作用。发出URL之后,浏览器会根据URL去找到所在的服务器上的JSP页面,JSP页面会根据页面中的JAVA小脚本进行编译成JAVA文件,再运行JAVA文件,从数据库调取相关数据生成指定的HTML页面,最终将HTML页面返回给用户,最后呈现出我们平时所看到的网页。











  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值