您的位置:首页 > Web前端 > JavaScript

J2EE基础教程2:JSP初探

2016-07-13 00:01 591 查看
实例一

我们先来看一个基本的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页面和文档中使用写入文本的模板

区别于指令元素,动作元素在执行阶段起作用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: