`
Ydoing
  • 浏览: 105959 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

第一个JSP程序(JSP入门)

 
阅读更多

在web根目录新建index.jsp文件

<%@ page language="java" contentType="text/html; charset=GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
当前系统时间
<%out.println(new java.util.Date()); %>
</body>
</html> 

配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app> 

启动tomcat

浏览器显示输出

当前系统时间 Tue Jun 30 20:35:20 CST 2015

查看jsp对应的java类文件

在D:\apache-tomcat-7.0.62\work\Catalina\localhost\ServletStudy\org\apache\jsp可以找到index_jsp.java文件,文件内容如下

/*
 * Generated by the Jasper component of Apache Tomcat
 * Version: Apache Tomcat/7.0.62
 * Generated at: 2015-06-30 12:35:20 UTC
 * Note: The last modified time of this file was set to
 *       the last modified time of the source file after
 *       generation to assist with modification tracking.
 */
package org.apache.jsp;

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

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

  private static final javax.servlet.jsp.JspFactory _jspxFactory =
          javax.servlet.jsp.JspFactory.getDefaultFactory();

  private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;

  private javax.el.ExpressionFactory _el_expressionfactory;
  private org.apache.tomcat.InstanceManager _jsp_instancemanager;

  public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
    return _jspx_dependants;
  }

  public void _jspInit() {
    _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
    _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
  }

  public void _jspDestroy() {
  }

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

//JSP隐含对象有以下对象
    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


    try {
      response.setContentType("text/html; charset=GBK");
      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("\r\n");
      out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n");
      out.write("<html>\r\n");
      out.write("<head>\r\n");
      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\">\r\n");
      out.write("<title>Insert title here</title>\r\n");
      out.write("</head>\r\n");
      out.write("<body>\r\n");
      out.write("当前系统时间\r\n");
out.println(new java.util.Date()); 
      out.write("\r\n");
      out.write("</body>\r\n");
      out.write("</html>");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {}
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
}

总结

  • org.apache.jasper.runtime.HttpJspBase实现了javax.servlet.Servlet接口
  • index_jsp类实现了javax.servlet.Servlet接口
  • 从以上可以看出,jsp文件会被Servlet容器(tomcat)翻译成一个Servlet类文件,然后再编译成class文件
  • JSP本质上是Servlet的实现。
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    JSP程序设计从入门到精通355页.pdf

    JSP 程序设计从入门到精通 本书主要介绍了 JSP 程序设计的基础知识和高级技术,涵盖了 JSP 的概述、环境安装配置、语法介绍、变量、运算符、控制结构、函数、数组、对象等方面的内容。 JSP 概述 JSP(Java Server...

    JSP程序设计从入门到精通

    ### 运行第一个JSP程序 创建一个简单的JSP文件,它输出“Hello, World!”,然后配置好JSP环境后,通过浏览器访问这个JSP文件的URL,如果一切设置正确,将会看到浏览器显示相应的输出。 ### JSP基础学习 #### JSP...

    JSP 程序设计从入门到精通 PDF 教程

    - 这部分指导初学者如何编写并运行他们的第一个JSP程序,通常是一个简单的“Hello World”示例,用于验证JSP环境是否正确配置。 ##### 1.5 本章小结 - 对本章介绍的JSP基础知识进行了总结,为后续章节的学习打下了...

    JSP程序设计从入门到精通.chm

    本篇由5章组成:第1章对JSP进行介绍,讲解了JSP的发展状况与历史背景,接着用图解的方式对JSP环境安装配置进行讲解,及对JSP语法进行介绍,最后通过一个Jsp程序的执行来使读者对JSP有个大概了解。第2章 主要是讲解JSP...

    jsp入门教程

    - **开篇第一个JSP**:创建一个简单的JSP文件,如`index.jsp`,并在其中添加一些基本的HTML标记和JSP元素。 - **B/S结构**:介绍客户端(浏览器)与服务器之间的交互原理,包括HTTP请求与响应的过程。 #### 第2章 ...

    tomcat在myeclipse中的设置以及第一个jsp程序教程

    此教程为初学者教程,向大家介绍了如何在myeclipse中配置tomcat,以及关于jsp入门的一些讲解

    JSP程序设计从入门到精通-非扫描文档

    ##### 1.4 运行第一个Jsp程序 - 编写一个简单的JSP程序,例如输出“Hello World!”,并通过Tomcat运行该程序。 #### 二、JSP基础学习 ##### 2.1 JSP基本语法 - **声明**:用于声明变量或方法,如`! %&gt;`. - **...

    第一单元 JSP入门知识.pdf

    第一单元 JSP入门知识.pdf 第二单元 JSP程序设计基础.pdf 第三单元 JSP页面语法.pdf 第四单元 JSP内置对象.pdf 第五单元 JSP访问数据库.pdf 第六单元 在JSP中应用JavaBean.pdf 第七单元 Servlet.pdf 第八单元 JSP...

    JSP入门教程珍藏版

    #### 四、运行第一个JSP程序 **1.4 运行第一个JSP程序** - 创建一个简单的JSP文件,如`hello.jsp`。 - 在文件中添加简单的输出语句。 - 将文件放置在Tomcat的工作目录中。 - 启动Tomcat服务器并在浏览器中访问该...

    jsp程序设计入门到精通

    #### 第1.4 运行第一个Jsp程序 - **编写简单的JSP页面**:通常包括HTML标签和简单的Java代码片段。 - **部署并测试**:将JSP文件放置在Tomcat服务器的webapps目录下,启动服务器并在浏览器中访问。 #### 第2章 JSP...

    《JSP从入门到精通》

    6. **MVC(Model-View-Controller)设计模式**:JSP常与Servlet一起用于实现MVC架构,理解这一设计模式可以帮助构建更结构化的Web应用程序。 7. **JSP生命周期**:包括加载、实例化、初始化、服务、销毁五个阶段,...

    JSP实例入门-JSP实例入门

    我的第一个JSP页面 out.println("欢迎来到JSP世界!"); %&gt; ``` 在这个例子中,`&lt;%@&gt;` 是指令元素,用来设置页面属性;`&lt;%...%&gt;` 是脚本元素,用于编写Java代码。 ### JSP生命周期 JSP页面在服务器上经历三...

Global site tag (gtag.js) - Google Analytics