1. <%
  2. response.getOutputStream().write("123".getBytes());
  3. %>

新建一个 Web Project 项目,jsp 文件新建在 WebRoot 目录下,在 Body 节点中加入以上代码,发布。

输出的页面如下:

  1. <html><head></head><body>123</body></html>

在路径 X:\apache-tomcat-7.0.77\work\Catalina\localhost\day08\org\apache\jsp\index_jsp.java 下可以找着此文件

打开后会看到上面的 jsp 文件实现原理,相当于一个 Servlet。

需要注意的是: response.getOutputStream().write() 之后的语句都没有输出到浏览器。

  1. <%
  2. Date date = new Date();
  3. out.write(date.toLocaleString());
  4. %>

平时 jsp 中使用这段代码更为合适,此处 out = pageContext.getOut();


page 指令用于定义 JSP 页面的各种属性,无论 page 指令出现在 jsp 页面中的什么地方,它作用的都是整个 jsp 页面,一般放在 jsp 页面起始位置。
JSP 2.0 规范中定义的 page 指令的完整语法:
<%@ page
[language="java"]  // 定义此页面由 java 语言编写
[extends="package.class"]  // 
[import="{package.class | package.*}, ..."]  // 默认会导入 import="java.util.*"
[session="true | false"]  // 默认为 false ,此时可用 response.getSession() 引出。
[buffer="none | 8kb | sizekb"]  // 默认页面使用 8kb 缓存
[autoFlush="true | false"]  // 
[isThreadSafe="true | false"]  //
[info="text"]  //
[errorPage="relative_url"]  // 此处为相对路径。以 "/" 开头,表示Web应用的根目录,否则相对于当前页面。
[isErrorPage="true | false"]
[contentType="mimeType[;charset=characterSet]" | "text/html;charset="UTF-8"]
[pageEncoding="characterSet | UTF-8"]
[isELIgnored="true | false"]
%>
也可以在 web.xml 文件中使用 <error-page> 元素为整个 web应用 设置错误处理页面,
其中 <exception-type> 指定异常类的完全限定名,<location> 指定以 "/" 开头的错误处理页面的路径。
 
JSP 脚本有 表达式 和 语句块 两种
表达式(expression): <%= 变量 或 表达式 %> 此时没有 ; 来表示结束
语句块(scriptlet):<% 代码块 %> 此代码块使用 java 语法。
多个语句块中的代码属于同一作用域,可以相互访问。单个语句块中的  Java 语句可以不完整,但多个脚本片断组合后的结果必须是完整的 Java 语句。

JSP 声明:
JSP 页面编写的所有代码,都会翻译到 servlet 的 service 方法中,而 java 代码被翻译到 _jspService 方法的外面。
语法:

  1. <%!
  2. 语句块
  3. %>

此处多了一个 ! 符号,它可用于定义 JSP 页面转换成的 Servlet 程序的静态代码块、成员变量和方法。

多个静态代码块、变量和函数可以定义在一个 Jsp 声明中,也可以分别单独定义在多个 Jsp 声明中。

Jsp 隐式对象的作用范围仅限于 Servlet 的 _jspService 方法,所以在 JSP 声明中不能使用这些隐式对象。

[转][Java]Jsp入门的更多相关文章

  1. 自学 Java 怎么入门

    自学 Java 怎么入门? 595赞同反对,不会显示你的姓名     给你推荐一个写得非常用心的Java基础教程:java-basic | 天码营 这个教程将Java的入门基础知识贯穿在一个实例中,逐 ...

  2. Jsp入门学习笔记

    #Jsp入门 一.JSP基础语法 1.JSP指令: page inlcude taglib 2.JSP注释: a.html注释: <!-- abcdefghijklmn --> b.jsp ...

  3. JSP入门:介绍什么是JSP和Servlet(转)

    转自:http://developer.51cto.com/art/200907/134506.htm JSP入门:什么是jsp? JSP(Java Server Pages)是由Sun Micros ...

  4. JSP入门必读

    JSP基础知识:转自老师上课梳理的笔记,希望对大家有所帮助.有什么不妥当的地方还望大家批评指正. 特别适用于JSP入门的人员使用.1.JSP [1] 简介1.1 HTML    HTML擅长显示一个静 ...

  5. Java web 入门知识 及HTTP协议详解

     Java  web  入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...

  6. 九、JSP入门(1)

    JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. 1.2 JSP的 ...

  7. .NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Ruby/Shell/Agile/CSS/HTML/HTTP/Unix/Linux大量PDF书籍/电子书籍下载, Effective Java 下载

    223本电子书籍,囊括了.NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Shell/A ...

  8. day11(jsp入门&Cookie&HttpSession&一次性图片校验码)

    day11 JSP入门   1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态资源.它与html页面的作用是相同的,显示数据和获取数据. ...

  9. JSP入门之自定义标签

    第二部分简单讲解:主要讲解el表达式,核心标签库.本章主要讲解:自定义标签库:404页面,505页面,错误页面配置方法 全部代码下载:链接 1.JSP自定义标签: 自定义标签是用户定义的JSP语言元素 ...

随机推荐

  1. python虚拟环境的搭建命令mkvirtualenv

    windows环境如果同时安装了python3和python2,那么无论在哪个版本安装了virtualenv和virtualenvwrapper-win 通过以下命令设置ptyhon版本路径,即可建立 ...

  2. 《Effective C++》第5章 实现-读书笔记

    章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...

  3. root用户下使用sqlplus登录Oracle数据库

    1.把环境变量添加到root用户的环境变量里面2.执行 chmod -R 6777 /tmp           chmod -R 6777 /usr/tmp           chmod -R 6 ...

  4. Tomcat 环境安装

    本文以Tmcat 7版本在Windows Server 2012 64位系统下安装讲解,JAVA环境安装配置参见:http://www.cnblogs.com/fklin/p/6670760.html ...

  5. sql密码修改

    首先,以window 认证登陆. 2 然后,在 安全性---->登录名---->sa.右击 选择属性.直接修改 星号密码即可. 3 然后 在右上角 文件--->链接对象资源管理器-- ...

  6. Iphone 消息通知(APNS)的3种方式 -- C# 和 nodejs

    发送 APNS 使用 p12 文件(C#) public static bool PushWithP12(string apnToken, string message) { _log.DebugFo ...

  7. 解决apt-get安装中的E: Sub-process /usr/bin/dpkg returned an error code (1)问题

    在用apt-get安装软件包的时候遇到E: Sub-process /usr/bin/dpkg returned an error code (1)问题,解决方法如下: cd /var/lib/dpk ...

  8. Python 中的 if __name__ == '__main__'

    __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ .这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行. 先来个小栗子: 先创建一个 ...

  9. 套接字中的recv与send的注意事项

    recv() 特征* 如果连接的另一端断开连接,则recv立即返回空子串* recv是从接受缓冲区取出内容,当缓冲区为空则阻塞* recv如果一次接受不完缓冲区内容,下次会继续接收 send() 特征 ...

  10. 用户空间与内核驱动的交互过程 — ioctl

    在Linux内核模块的开发过程中,经常涉及到运行在用户空间上的应用程序与内核模块进行交互,ioctl系统调用是常用的一种方式.本文并不涉及vlan的具体原理,仅通过vconfig与vlan内核模块进行 ...