J2EE基础教程2:JSP初探
2016-07-13 00:01
591 查看
实例一
我们先来看一个基本的jsp页面的代码。首先,我们看到jsp是和html混在一起的。
现在浏览器都有浏览元代码的功能,然而,在源代码里,我们是找不到和jsp相关的代码的,而只能找到和html相关的代码。
首先解释下整个的执行过程
(1)你的浏览器发送一个http请求给服务器。
(2)web服务器(tomcat)识别除了这个请求,并将这个请求传递给jsp引擎。
(3)jsp引擎读取jsp文件,将他们转化为servlet。将所有jsp元素转化为java代码。然后将servlet编译成可以执行的类,并将原始请求发送给servlet引擎。
(4)web服务器调用servlet引擎,并执行servelet类。在执行中产生html网页,并将其上交给web服务器。
(5)web服务器将静态网页返回。
整个过程可以简化为如下图
![](http://img.blog.csdn.net/20160712232003928)
实例二
然后我们来看下面的代码
(1)注意到两种println并不相同,一个是打印在网页里,一个是打印在命令行里。另外一种输出到网页里的方式是采用<%= %>
(2)page指令使用来对当前页面进行说明的。有若干可选属性,说明如下
buffer 指定out对象使用缓冲区的大小
autoFlush 控制out对象的 缓存区
contentType 指定当前JSP页面的MIME类型和字符编码
errorPage 指定当JSP页面发生异常时需要转向的错误处理页面
isErrorPage 指定当前页面是否可以作为另一个JSP页面的错误处理页面
extends 指定servlet从哪一个类继承
import 导入要使用的Java类
info 定义JSP页面的描述信息
isThreadSafe 指定对JSP页面的访问是否为线程安全
language 定义JSP页面所用的脚本语言,默认是Java
session 指定JSP页面是否使用session
isELIgnored 指定是否执行EL表达式
isScriptingEnabled 确定脚本元素能否被使用
除此之外还有include指令,使用的方法如下
<%@ include file=”文件相对 url 地址” %>
这些统称为指令元素,指令元素在编译阶段起作用。
实例三
再看下面这一段代码
主要讲解jsp的动作元素和如何使用javabean对应的javabean代码如下
有如下常见的java动作元素
jsp:include 在页面被请求的时候引入一个文件。
jsp:useBean 寻找或者实例化一个JavaBean。
jsp:setProperty 设置JavaBean的属性。
jsp:getProperty 输出某个JavaBean的属性。
jsp:forward 把请求转到一个新的页面。
jsp:plugin 根据浏览器类型为Java插件生成OBJECT或EMBED标记。
jsp:element 定义动态XML元素
jsp:attribute 设置动态定义的XML元素属性。
jsp:body 设置动态定义的XML元素内容。
jsp:text 在JSP页面和文档中使用写入文本的模板
区别于指令元素,动作元素在执行阶段起作用。
我们先来看一个基本的jsp页面的代码。首先,我们看到jsp是和html混在一起的。
现在浏览器都有浏览元代码的功能,然而,在源代码里,我们是找不到和jsp相关的代码的,而只能找到和html相关的代码。
<%@ page language="java" import="java.util.*"%> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> This is my JSP page. <br> <%!Date date = new Date(); %>> <%=date.toString() %> </body> </html>
首先解释下整个的执行过程
(1)你的浏览器发送一个http请求给服务器。
(2)web服务器(tomcat)识别除了这个请求,并将这个请求传递给jsp引擎。
(3)jsp引擎读取jsp文件,将他们转化为servlet。将所有jsp元素转化为java代码。然后将servlet编译成可以执行的类,并将原始请求发送给servlet引擎。
(4)web服务器调用servlet引擎,并执行servelet类。在执行中产生html网页,并将其上交给web服务器。
(5)web服务器将静态网页返回。
整个过程可以简化为如下图
实例二
然后我们来看下面的代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> Hello World!<br/> <% out.println("你的 IP 地址 " + request.getRemoteAddr()); System.out.println("你的 IP 地址 " + request.getRemoteAddr()); %> <p> 今天的日期是: <%= (new java.util.Date()).toLocaleString()%> </p> </body> </html>
(1)注意到两种println并不相同,一个是打印在网页里,一个是打印在命令行里。另外一种输出到网页里的方式是采用<%= %>
(2)page指令使用来对当前页面进行说明的。有若干可选属性,说明如下
buffer 指定out对象使用缓冲区的大小
autoFlush 控制out对象的 缓存区
contentType 指定当前JSP页面的MIME类型和字符编码
errorPage 指定当JSP页面发生异常时需要转向的错误处理页面
isErrorPage 指定当前页面是否可以作为另一个JSP页面的错误处理页面
extends 指定servlet从哪一个类继承
import 导入要使用的Java类
info 定义JSP页面的描述信息
isThreadSafe 指定对JSP页面的访问是否为线程安全
language 定义JSP页面所用的脚本语言,默认是Java
session 指定JSP页面是否使用session
isELIgnored 指定是否执行EL表达式
isScriptingEnabled 确定脚本元素能否被使用
除此之外还有include指令,使用的方法如下
<%@ include file=”文件相对 url 地址” %>
这些统称为指令元素,指令元素在编译阶段起作用。
实例三
再看下面这一段代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body> <h2>Jsp 使用 JavaBean 实例</h2> <jsp:useBean id="test" class="s1.TestBean" /> <jsp:setProperty name="test" property="message" value="菜鸟教程..." /> <p>输出信息....</p> <jsp:getProperty name="test" property="message" /> </body> </html>
主要讲解jsp的动作元素和如何使用javabean对应的javabean代码如下
package s1; public class TestBean { private String message = "菜鸟教程"; public String getMessage() { return(message); } public void setMessage(String message) { this.message = message; } }
有如下常见的java动作元素
jsp:include 在页面被请求的时候引入一个文件。
jsp:useBean 寻找或者实例化一个JavaBean。
jsp:setProperty 设置JavaBean的属性。
jsp:getProperty 输出某个JavaBean的属性。
jsp:forward 把请求转到一个新的页面。
jsp:plugin 根据浏览器类型为Java插件生成OBJECT或EMBED标记。
jsp:element 定义动态XML元素
jsp:attribute 设置动态定义的XML元素属性。
jsp:body 设置动态定义的XML元素内容。
jsp:text 在JSP页面和文档中使用写入文本的模板
区别于指令元素,动作元素在执行阶段起作用。
相关文章推荐
- json的一些属性用法
- JavaScript原型和闭包(极好的一篇帖子)
- JAVASCRIPT 神级代码
- JSP自定义select标签 字典表数据
- 在Sublime中搭建SpiderMonkey编译环境
- Json
- js(十六)——原型创建对象和继承
- javascript 函数 方法
- JavaScript原型与对象
- Logstash为什么那么慢?—— json序列化
- Javascript Browser Window对象方法详解
- js元素获取
- BZOJ1016 [JSOI2008]最小生成树计数
- C#解析Json字符串
- xml格式化成json
- obj 转为Json 时间格式自定义
- js(十五)——工厂和构造方法创建对象
- JS精确到小数点两位
- Js获取下拉框的值和文本select
- JS获取活动区域高和宽