当前位置:   article > 正文

JSP简介_论文中jsp简介该如何写

论文中jsp简介该如何写

1.什么是JSP

JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTMLXML或其他格式文档的Web网页,然后返回给请求者。JSP技术Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共同处理复杂的业务需求。

2.JSP的特点

  • 能以模板化的方式简单、高效地添加动态网页内容。

  • 可利用JavaBean和标签库技术复用常用的功能代码(设计好的组件容易实现重复利用,减少重复劳动)。标签库不仅带有通用的内置标签(JSTL),而且支持可扩展功能的自定义标签。

  • 有良好的工具支持。

  • 继承了Java语言的相对易用性。

  • 继承了Java的跨平台优势,实现“一次编写,处处运行”。因为支持Java及其相关技术的开发平台多,网站开发人员可以选择在最适合自己的系统平台上进行JSP开发;不同环境下开发的JSP项目,在所有客户端上都能顺利访问。

  • 页面中的动(控制变动内容的部分)/静(内容不需变动的部分)区域以分散但又有序的形式组合在一起,能使人更直观地看出页面代码的整体结构,也使得设计页面效果和程序逻辑这2部分工作容易分离(外观视图与逻辑分离)。从而方便分配人员并发挥各自长处,实现高效地分工合作。

  • 可与其它企业级Java技术相互配合。JSP可以只专门负责页面中的数据呈现,实现分层开发。

3.JSP的工作原理 

首先JSP分为两类,

(1)静态部分:标准的HTML标签、静态的页面内容,这些内容与静态HTML页面相同.

(2)动态部分:Java程序控制的内容,这些内容由Java程序来动态生成。

  1. <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
  2. <html>
  3. <head>
  4. <title>欢迎</title>
  5. </head>
  6. <body>
  7. 你好Java JSP!现在时间是:<%out.println(new java.util.Date());%>
  8. </body>
  9. </html>

在<%  %>之间的就是可以把Java代码嵌入HTML页面中,这就变成了动态的JSP页面。从表面上来分析,JSP页面已经不再需要Java类,似乎感觉完全脱离了Java面向对象的特征了,但是,实际上JSP是Servlet的一种特殊的形式,每一个JSP的页面就是一个Servlet的实例。

其次他的工作原理如下:

(1)当用户访问一个JSP页面时,回想一个Servlet容器(Tomcat)发出请求;

(2)如果是第一次请求页面,或页面有所改动,则servlet容器首先要把JSP页面(假设为test.jsp)转化为Servlet代码(test.java),再将其转化为(test.class文件);因为这个过程(编译)会耗费一定时间,所以第一次访问或jsp文件有改动时,访问时间有些长;

(3)JSP容器负责调用从JSP转换来的servlet,这些servlet负责提供服务相应用户请求(比如客户端发送表单,要求servlet:formprocessor.java来处理,则容器会建立一个线程,调用formprocessor.java来处理该请求);如果用户有多个请求,则容器会建立多个线程处理多个请求;

(4)容器执行字节码文件(包括调用的servlet:formprocessor.java字节吗),并将其结果返回到客户端;(返回的最终方式是有servlet输出html格式的文件流)

注释:

JSP页面必须要在JSP服务器内运行,如tomcat weblogic,jboss等等
JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。

4.常用语法

1.指令标识

指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释并执行的,不会产生任何内容输出到页面中。也就是说,指令标识对于客户端浏览器是不可见的。

JSP指令标识的语法格式如下:

<%@ 指令名 属性1=“属性值1”  属性2=“属性值2” %>

指令名:用于指定指令名称。在JSP中包括:Page、include、taglib这3条指令。

属性:用于指定属性名称,不同的指令包含不同的属性。在一个指令中可以设置多个属性,各属性之间用逗号或空格分隔。

page指令:<%@ page ... %>   用于定义整个JSP页面的相关属性。

例如,在应用Eclipse创建JSP文件时,在文件的最顶端会默认添加一条指令,用于指定JSP所使用的语言、编码方式等。这条指令的具体代码如下:

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

include指令:<%@ include ... %>  通过该指令可以在一个JSP页面中包含另一个JSP页面。

不过该指令是静态包含,也就是说被包含文件中所有内容会被原样包含到该JSP页面中,即使被包含文件中有JSP代码,在包含时也不会被编译执行。使用include指令,最终将生成一个文件,所以在被包含和包含的文件中,不能有相同名称的变量。

代码如下

<%@ include file="path" %>

taglib指令:<%@ taglib ... %>  通过该命令声明该页面中所使用的标签库,同时引用标签库,并指定标签的前缀。

语法格式如下

<%@ taglib prefix="tagPrefix" uri="tagURI" %>

注意:

prefix:用于指定标签的前缀。该前缀不能命名为jsp、jspx、java、javax、sun、servlet和sunw。

uri:用于指定标签库文件的存放位置。

举个例子

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 5.脚本标识

JSP表达式

格式如下

<%= 表达式%>

举个例子 

  1. <% String manager="pan_junbiao的博客"; %> <!-- 定义保存管理员名称变量 -->
  2. 管理员:<%= manager %><br/> <!-- 输出结果为:管理员:pan_junbiao的博客 -->
  3. <%= "管理员:" + manager %><br/> <!-- 输出结果为:管理员:pan_junbiao的博客 -->
  4. <%= 3*6 %><br/> <!-- 输出结果为:18 -->
  5. <% String url="https://blog.csdn.net/pan_junbiao"; %> <!-- 定义保存文件名称变量 -->
  6. <a target="_blank" href="<%= url %>">pan_junbiao的博客连接</a> <!-- 输出结果为:pan_junbiao的博客连接 是一个链接-->

声明标识

声明标识用于在JSP页面中定义全局的变量或方法。通过声明标识定义的变量和方法可以被整个JSP页面访问,所以通常使用该标识定义整个JSP页面都需要引用的变量或方法。声明标识的语法格式如下:

<%! 声明变量或方法的代码 %>

例子

  1. <%!
  2. int number=0; //声明全局变量
  3. int count(){ //声明全局方法
  4. number=number%4; //number4的取余
  5. return number; //返回number的值
  6. }
  7. %>
  8. 取余的结果为:<%= count() %>

代码片段

所谓代码片段就是在JSP页面中嵌入的Java代码或是脚本代码。代码片段将在页面请求的处理期间被执行,通过Java代码可以定义变量或是流程控制语句等;而通过脚本代码可以应用JSP的内置对象在页面输出内容、处理请求和响应、访问session会话等。代码片段的语法格式如下:

 <% Java代码或是脚本代码 %>

举例

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>九九乘法表</title>
  8. </head>
  9. <body>
  10. <%
  11. String str = ""; //声明保存九九乘法表的字符串变量
  12. //连接生成九九乘法表的字符串
  13. for (int i = 1; i <= 9; i++) { // 外循环
  14. for (int j = 1; j <= i; j++) { // 内循环
  15. str += j + "*" + i + "=" + j * i;
  16. str += "&nbsp;"; //加入空格符
  17. }
  18. str += "<br>"; // 加入换行符
  19. }
  20. %>
  21. <table width="440" height="85" border="1" cellpadding="0" cellspacing="0" style="font:9pt;"
  22. bordercolordark="#666666" bordercolorlight="#FFFFFF" bordercolor="#FFFFFF">
  23. <tr>
  24. <td height="30" align="center">九九乘法表</td>
  25. </tr>
  26. <tr>
  27. <td style="padding:3pt">
  28. <%=str%> <!-- 输出九九乘法表 -->
  29. </td>
  30. </tr>
  31. </table>
  32. </body>
  33. </html>

 最后的结果

 6.动作标识

 详见这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/140117
推荐阅读
相关标签
  

闽ICP备14008679号