J2EE 13规范(4)-JSP

JSP全称(Java Server Page ),也称javaserver页面。看到jsp是否立马想到原先以前学过的asp呢。

一.jsp和asp的比較:

JSP(Java Server Page)与ASP(Active Server Page)两者都是经常使用的动态网页技术,也都是能够嵌入HTML中的程序,但两者是有着本质的不同,主要从下面几个方面对其进行比較:

1.Webserver的支持:大多数通用的 Webserver如:Apache、Netscape和Microsoft IIS都支持JSP页面,仅仅有微软本身的Microsoft IIS和Personal Web Server能够支持ASP。

2.平台的支持:JSP具有平台独立性,仅仅要是一般的Java程序能够执行的平台,都支持JSP程序。Windows平台能够非常好的支持ASP,但ASP对于基于Win32逐渐模型的依赖,使得它难于移植到其他平台上。

3.脚本语言:JSP能够使用Java编程语言或JavaScript作为脚本语言,而ASP使用VBScript或Jscript作为脚本语言。

4.安全性:JSP使用Java安全模型,而ASP使用Windows NT的安全结构。

事实上随着我们对jsp的深入学习,才发现,JSP和servlet有这密切的联系。JSP与Servlet一样,是在server端运行的。通常返回给client的就是一个HTML文本,因此client仅仅要有浏览器就能浏览。。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets訪问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和easy。
JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

二.JSP和servlet的差别:

1. Servlet中没有内置对象,原来Jsp中的内置对象都是必须通过HttpServletRequest对象,或由  HttpServletResponse对象生成。

2. 对于静态的HTML标签,Servlet都必须使用页面输出流诼行输出。

3. jsp终于还是编译成servlet,所以jsp比servlet慢。jsp负责前台页面显示,servlet负责业务控制。

总之,Jsp是Servlet的一种简化,使用Jsp仅仅须要完毕程序猿须要输出到client的内容,至于Jsp中的 Java脚本怎样镶嵌到一个类中,由Jsp容器完毕。而Servlet则是个完整的Java类,这个类的Service 方法用于生成对client的响应。

三.简单实例

1.HTMLclient代码:

<html>
	<head>
		<title> HelloWorld </title>
	</head>
	<body>
		<%
			out.println("HelloWorld");
		%>
	</body>
</html>

2.后面的工作就是 jsp自己工作了,在tomcat的work目录中,会自己主动生成下面java和响应的class文件代码:

package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

public final class HelloWorld_aaa extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static java.util.List _jspx_dependants;

  public Object getDependants() {
    return _jspx_dependants;
  }

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;

    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("<html>\r\n");
      out.write("\t<head>\r\n");
      out.write("\t\t<title>HelloWorld</title>\r\n");
      out.write("\t</head>\r\n");
      out.write("\t<body>\r\n");
      out.write("\t\t");

			out.println("HelloWorld");

      out.write("\r\n");
      out.write("\t</body>\r\n");
      out.write("</html>");
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          out.clearBuffer();
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
      }
    } finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
}

jsp和asp以及servlet,对照着学习,也就慢慢的明确当中的道理了。

时间: 2024-10-10 18:25:08

J2EE 13规范(4)-JSP的相关文章

J2EE 13 规范之解读JNDI

对于我这样初次接触J2EE的菜鸟来说,J2EE的 13规范都显得那么神秘. 今天先从JNDI说起,让我们一个一个的揭开13规范的神秘面纱.   JNDI                                                            JNDI(Java Naming and Directory Interface)Java 命名与目录接口,JavaEE规范中重要的规范之一,是命名 服务的抽象机制. 常用的JNDI操作:                   

J2EE 13规范(3)-Java Servlet

Servlet简介: 一个servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过"请求-响应"编程模型来访问的应用程序.虽然servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序.Java Servlet技术为这些应用程序定义了一个特定于HTTP的 servlet类. javax.servlet和javax.servlet.http包为编写servlet提供了接口和类.所有的servlet都必须实现Servlet接口,

深入浅出J2EE之(一)—13规范

解决什么问题? 在许多企业级应用中,例如数据库连接.邮件服务.事务处理等都是一些通用企业需求模块,这些模块如果每次在开发都由开发人员来完成的话,将会造成开发周期长和代码可靠性差等问题.于是许多大公司开发了自己的通用模块服务.这些服务性的软件系列同称为中间件. 在上述的需求基础之上,许多公司都开发了自己的中间件,但其与用户的沟通都各有不同,从而导致用户无法将各个公司不同的中间件组装在一块为自己服务.从而产生瓶颈.为了通用必须要提出规范,不然无法达到通用,于是提出标准的概念. 简单理解:每个公司将通

J2EE动态网页技术—JSP

学习JSP,我们需要知道的是什么是JSP?JSP有什么特点?JSP与svelte有什么关系? 第一个概念:JSP是服务器端运行的一种脚本语言,这类似的语言还有CGI.ASP.PHP等.          CGI:采用单进程模式,每次请求服务器端的一个服务,都需要启动一个新的线程.所以当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,加重了服务器的负担,使服务器的执行效率变得越来越低下. ASP:是微软所开发一种后台脚本语言,特点简单易用,其局限性在于只能在微软的服务器平台上良好运行,

J2EE开发规范

J2EE开发规范一 JAVA编码规范1 命名规范1.1 包命名? 包名称必须全部用小写.? 命名方式:业务领域名.公司名.项目名.模块名 如com.yr.xxx.dao.1.2 类命名类名以英文单词取名,首字母必须大写,多个英文单词以大写字母间隔,避免使用单词的缩写,除非它的缩写已经广为人知,如HTTP.类名中不允许'_'. '-'等符号. 1.3 属性/local变量命名? 定义属性的位置,在类定义的开始,按照public,protected,package,private顺序放置.定义loc

开启 J2EE(四)—JSP及运行原理

JSP之了解 全称Java Server Pages,通过在HTML中嵌套Java代码实现动态网页. 可以从下面四个方面去认识一下JSP: 1.动态内容模板 动态的HTML,接受处理客户的请求,可以填充不同的业务逻辑. 2.使用定制的Java代码扩展HTML 本质是对标签的动态更新.JSP生成的标签代码可以是HTML也可以是XML等其它标签语言. 3.被编译成Servlet 本质是Servlet,在开发阶段JSP是一种文本的脚本的基于模板化的语言,运行时会被编译成Servlet的格式,执行的生命

J2EE 13个规范概览

J2EE平台由一整套服务(Services).应用程序接口(APIs)和协议构成,它对开发基于Web的多层应用提供了功能支持.下面对J2EE中的13种进行简单的描述: 1. JDBC(Java Database Connectivity): JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDCB对数据库的访问也具有平台无关性. 简单说JDBC可以干三件事:与数据库连接.发送操作数据库的语句.处理结果: 2. JNDI(Java

J2EE的13 规范之解读JSP

什么是JavaServer Pages? JSP(全称Java ServerPages)是由SunMicrosystems公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态 生成HTML.XML或其他格式文档的Web网页的技术标准. 从上面的话不难看出JSP的核心是:能够及时响应客户请求的动态网页开发技术.它使用JSP的标签在HTML网页中插入Java代码.标签通常以 <%开头以%>结束. JSP的本质是Java servlet,主要用于实现Javaweb应用程序的用户

[J2EE基础]初识JSP和Servlet

近期须要用到J2EE,就開始学习与J2EE相关的知识了. JSP是一种Javaserver端技术,它用于在网页上显示动态内容. Tomcat相关知识 JSP的运行过程 JSP的页面构成元素 JSP的凝视 静态和动态include JSP标准标签库 JSP的九大内置对象: Out:一个缓冲的输出流,向client输出内容 page:当前JSP页面本身,它是java.lang.Object类的实例 request:提取浏览器提交的信息 response:server对客户的请求做出响应.向clien