`
Ydoing
  • 浏览: 101088 次
  • 性别: 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 程序设计从入门到精通 PDF 教程

     1.4 运行第一个Jsp程序 16  1. 5本章小结 20  第2章Jsp 基础学习 20  2.1 JSP基本语法 20  2.1.1 JSP 语法之声明 21  2.1.2 JSP 语法之表达式 21  2.1.3 JSP 语法之Scriptlet 21  2.2 JSP的指令 22 ...

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

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

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

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

    第一单元 JSP入门知识.pdf

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

    第二单元 JSP程序设计基础.pdf

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

    JSP快速入门教程

    第一讲(参考《Java Web程序设计基础教程》第1章) 1 JSP 和 Java的关系  一般Java指的标注版 Java SE  另外两个版本:Java EE 和 Java ME  JSP属于Java EE的一部分。  Java EE:  组件:Web层组件(JSP+...

    第四单元 JSP内置对象.pdf

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

    Jsp——入门

    JSP程序设计从入门到精通,学习JSP必备书籍

    jsp教程第一章 jsp概述

    jsp jsp概述 jsp教程 jsp入门 jsp讲解 jsp教材

    最基本jsp小程序,只有一行代码

    非常简单的入门jsp小程序,只有一行代码,是最最基础的第一个jsp小程序

    jsp高级编程--jsp基础&&jsp高级应用

    第一部分 jsp入门 第一章 概述 第二章 预备知识 第三章 jsp开发平台的建立--tomcat 第四章 jsp的语法和语义 第五章 作为xml的jsp 第六章 jsp基础实例 第七章 用jsp实现常见的web应用 第二部分 高级jsp技术 ...

    第三单元 JSP页面语法.pdf

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

    第五单元 JSP访问数据库.pdf

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

    第八单元 JSP高级应用.pdf

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

    JSP从入门到精通 源文件.rar

    JSP从入门到精通第一版的所有例子,每一章的源代码,没有一一验证,希望对初学JSP的同学有所帮助,毕竟JSP是一门应用比较广泛的脚本编程语言

    JSP程序设计从入门到精通

    很好的学习资料JSP 第一次上传资源 请支持

    第六单元 在JSP中应用JavaBean.pdf

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

    jsp从入门到高级编程

    第一部分 JSP入门 第1章 概述 1.1 Java技术 1.1.1 Java技术的发展 1.1.2 JavaBeans 1.1.3 JDBC 1.1.4 J2EE 1.1.5 EJB 1.1.6 Java Servlet 1.2 JSP技术 1.2.1 JSP技术概述 1.2.2 JSP的优势及与其他Web开发...

    Head First Servlet and JSP中Beer入门程序

    Head First Servlet and JSP中第一个javaWeb程序,在我的博客有相应的讲解。

    我的第一个JSP之helloworld

    我的第一个JSP之helloworld! 输出helloworld的四中方式。 有详细的图片!

Global site tag (gtag.js) - Google Analytics