Java Web编程的主要组件技术——JSP
参考书籍:《J2EE开源编程精要15讲》
JSP(Java Server Page)页面由HTML代码和嵌入其中的Java代码组成。
简单的JSP页面如:
<html>
<body>
<%
out.println("<H1>Hello World!</H1>");
%>
</body>
</html>
JSP页面一般包括JSP指令、JSP脚本元素、JSP标准动作,以及JSP隐式对象
JSP指令
1) page指令
定义一些属性,用来通知Servlet引擎有关JSP的一些设置,主要为:
language属性:编写JSP页面时用的脚本语言,如:Java语言 <%@ page language="java" %>
contentType属性:应答MIME类型(多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型),
如:<%@ page contentType="text/html;charset=GB2312" %> charset设置页面字符类型
pageEncoding属性:jsp本身页面文件的编码,如:<%@ page pageEncoding="utf-8" %>
与contentType属性的区别:http://smiky.iteye.com/blog/894938
import属性:引入软件包或类,如:<%@ page import="java.io.*;java.util.*" %>
session属性:指定JSP页面会话的可用性,默认为true,如:<%@ page session="false" %>
isErrorPage属性:指定当前页面是否用作JSP错误页面,默认为false,如:<%@ page isErrorPage="true" %>
errorPage属性:设置错误页,发生未处理的页异常重定向到该设置页,与isErrorPage属性配合使用,
如:<%@ errorPage="error.jsp" %>
使用示例:http://www.tojsp.com/jsp/how-to-use-jsp-error-page.html
2) include指令
指出编译JSP页面时要插入的文件名(相对路径),所包括的文件内容成为JSP页面的一部分。可用于插入多页面公用的代码,
如:在JSP页面中包括头文件(header.html) <%@ include file="header.html" %>
3) taglib(标记库)指令
在JSP页面引入该页面所要用到的标记库资源,如:<%@ taglib prefix="s" uri="/struts-tags" %>
JSP脚本元素
1) JSP声明
定义JSP页面级变量与方法。声明语句放在<%!与%>标记内,总以分号结尾,如:
<%!
private int x=0;
%>
2) JSP表达式
直接插入值到输出,如:<%=Math.PI%>
3) JSP代码段
包括在<%与%>标记内的有效代码片段,如:
<html>
<body>
<%! int i=0; %>
<% i++; %>
The result is:<%=i %>
</body>
</html>
JSP标准动作
1) forward动作 <jsp:forward>
提交请求给不同页面,如:
<jsp:forward page="another.jsp">
<jsp:param name="user" value="Tom" />
</jsp:forward>
<jsp:param>用以传递附加请求参数,name属性指出参数名,value属性指出参数值
2) include动作<jsp:incluse>
插入文件到特定JSP页面,此文件包含在请求JSP页面时刻,如:
<jsp:include page="one.html" flush="true" />
page属性给出要包含页面的相对路径,flush属性指出缓冲区是否冲洗
与include指令区别:
include指令:只能合并静态页面或文档内容
include动作:可包括动态生成的输出结果
3) useBean动作<jsp:useBean>
寻找与装入现有JavaBean,如:
<%@ page language="java" %>
<html>
<body>
<jsp:useBean id="mybean" class="com.kate.SimpleBean" scope="session" />
<jsp:setProperty name="mybean" property="name" value="Bill" />
<p>
<jsp:getProperty name="mybean" property="age" />
</p>
</body>
</html>
id属性定义唯一标识Bean的实例,class属性指出要实现的Bean对象的类,scope属性指出Bean的使用范围(page、session、application)
4) JSP的隐式对象
包含在JSP表达式与代码段的某些预定义变量:request、response、out、session、application、config、page、pageContext、exception。
Java Web编程的主要组件技术——JSP的更多相关文章
- Java Web编程的主要组件技术——Struts入门
参考书籍:<J2EE开源编程精要15讲> Struts是一个开源的Java Web框架,很好地实现了MVC设计模式.通过一个配置文件,把各个层面的应用组件联系起来,使组件在程序层面联系较少 ...
- Java Web编程的主要组件技术——MVC设计模式
参考书籍:<J2EE开源编程精要15讲> MVC(Model View Controller),Model(模型)表示业务逻辑层,View(视图)代表表述层,Controller(控制)表 ...
- Java Web编程的主要组件技术——JDBC
参考书籍:<J2EE开源编程精要15讲> JDBC(Java DataBase Connectivity)是Java Web应用程序开发的最主要API之一.当向数据库查询数据时,Java应 ...
- Java Web编程的主要组件技术——Hibernate核心组件
参考书籍:<J2EE开源编程精要15讲> Hibernate配置文件 1) hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8 ...
- Java Web编程的主要组件技术——Struts核心组件
参考书籍:<J2EE开源编程精要15讲> Struts配置文件struts-config.xml Struts核心文件,可配置各种组件,包括Form Beans.Actions.Actio ...
- Java Web编程的主要组件技术——Servlet
参考书籍:<J2EE开源编程精要15讲> Servlet是可以处理客户端传来的HTTP请求,并返回响应,由服务器端调用执行,有一定编写规范的Java类. 例如: package test; ...
- Java Web编程的主要组件技术——Hibernate入门
参考书籍:<J2EE开源编程精要15讲> Hibernate是对象/关系映射(ORM,Object/Relational Mapping)的解决方案,就是将Java对象与对象关系映射到关系 ...
- Java Web编程的主要组件技术——Struts的高级功能
参考书籍:<J2EE开源编程精要15讲> Struts对国际化的支持 "国际化"(I18N)指一个应用程序在运行时能根据客户端请求所来的国家/地区.语言的不同显示不同的 ...
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
随机推荐
- 2007: [Noi2010]海拔 - BZOJ
Description YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域.简单起见,可以将YT市看作一个正方形,每一个区域也可看作一个正方形.从而,YT城市中包括(n+1)× ...
- 【BZOJ】【1115】【POI2009】石子游戏KAM
博弈论 这个题……一看就觉得很捉急啊= =肿么办? 灵光一现:差分一下~ 那么我们看一下差分以后,从第 i 堆中拿走 k 个石子变成了:a[i]-=k; a[i+1]+=k; 嗯这就转化成了阶梯博弈! ...
- Firefox下网页缩放时防止div被挤到下一层
http://wu110cheng.blog.163.com/blog/static/13334965420121120102439190/ Firefox下网页缩放时防止div被挤到下一层 问题:三 ...
- POJ 1716
#include <iostream> #include <algorithm> #define MAXN 20005 using namespace std; int _m[ ...
- POJ 1724 ROADS(BFS+优先队列)
题目链接 题意 : 求从1城市到n城市的最短路.但是每条路有两个属性,一个是路长,一个是花费.要求在花费为K内,找到最短路. 思路 :这个题好像有很多种做法,我用了BFS+优先队列.崔老师真是千年不变 ...
- 2013年山东省第四届ACM大学生程序设计竞赛 Alice and Bob
Alice and Bob Time Limit: 1000ms Memory limit: 65536K 题目描述 Alice and Bob like playing games very ...
- Thread的第四天学习
线程通信 wait notify synchronized + 同对象 才可 互斥 锁不是放在线程上的,放在共享资源内部的. wait 线程等待 notify 线程唤醒
- [三分]HDOJ 5531 Rebuild
题意:给n个点,以这n个点为圆心画圆,使得所有的圆与其相邻的圆相切. 求n个圆最小的面积和. 分析:很容易想到确定了其中一个圆的半径之后,其他的圆的半径也能随之确定了. 画一画三个点的和四个点的,会发 ...
- TCL语言笔记:TCL中的String命令
一.介绍 字符串是 Tcl 中的基本数据类型,所以有大量的字符串操作命令.一个比较重要的问题就是模式匹配,通过模式匹配将字符串与指定的模式(格式)相匹配来进行字符串的比较.搜索等操作. 二.strin ...
- Delphi语言获得生命的原因和过程
都说Anders Hejlsberg是Delphi语言的作者,前一阵仔细读了VCL源码,惊叹于它的巧夺天工,未免对编译器的作者有些不服气,觉得首功不是他.今天仔细想了想,还是觉得不服不行.以下是我的理 ...