Servlet和JSP学习指导与实践(三):JSP助阵
前言:
JSP(Java Server Page)虽然作为一门服务端的语言,但它并没有创新新的语言标准。有些人一接触jsp之后发现易学易懂。实际上,jsp的内部原理仍然是基于Servlet,它是Servlet的补充,而并不是要取代Servlet。本文对JSP的一些概念及基础内容进行了不详尽的总结,希望感兴趣的博友凑合着看~
-------------
Part I: jsp指令,脚本元素,动作
1.常见指令
(1)page指令:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
其中,各属性详细说明见下表:
|
import
|
使一个JAVA导入声明被插入到最终页面文件(可分多次导入)。
|
|
contentType
|
规定了生成内容的类型。当生成非HTML内容或者当前字符集character set并非默认字符集时使用。
|
|
errorPage
|
处理HTTP请求时,如果出现异常则显示该错误提示信息页面。
|
|
isErrorPage
|
如果设置为TRUE,则表示当前文件是一个错误提示页面。
|
|
isThreadSafe
|
表示最终生成的servlet是否安全线程(threadsafe)。
|
(2)include指令:
<%@include file="demo"%>
2.脚本元素:
- 声明:
- <%! int a=1 %>
- 内嵌Java代码块,即scriptlet:
- <% %>
- 表达式:
- <%= "expanded inline data " + 1 %>
3.动作:
动作(Action)指的是被编译成执行某些操作的Java代码,常见的有
|
jsp:include
|
区别与include指令,当处理完该JSP页后就马上把控制权交还当前JSP页。这样JSP代码就可以在多个JSP页中共享而不用复制。
|
|
jsp:param
|
可以在jsp:include, jsp:forward或jsp:params块之间使用。指定一个将加入请求的当前参数组中的参数。
|
|
jsp:forward
|
用于处理对另一个JSP或SERVLET的请求和响应。控制权永远不会交还给当前JSP页。
|
|
jsp:plugin
|
这个动作产生为嵌入一个APPLET所需要的指定浏览器标签。
|
|
jsp:fallback
|
如果浏览器不支持APPLETS则会显示的内容。
|
|
jsp:getProperty
|
从指定的JavaBean中获取一个属性值。
|
|
jsp:setProperty
|
在指定的JavaBean中设置一个属性值。
|
|
jsp:useBean
|
创建或者复用一个JavaBean变量到JSP页。
|
实验1:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h2>第一个jsp页面</h2>
</body>
</html>
测试结果:
实验2:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<%
//内嵌的java代码
String name="Jack";
%> <%!
//声明方法
public String printTime(){
return "当前时间"+new java.util.Date();
}
%>
<body>
<!-- 表达式输出 -->
Hello,<%=name %>
<%=printTime() %>
</body>
</html>
测试结果:

Part II: jsp内置对象
jsp的9个内置对象分别表述如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%
//request获取参数及设置参数
request.setAttribute("time", new java.util.Date());
String timeNow = request.getParameter("time");
//out以html格式将内容输出到浏览器
out.print("welcome!"+timeNow);
//session设置参数,会话信息可跨多个页面
session.setAttribute("time",new java.util.Date());
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h2>内置对象</h2>
<a href="test2.jsp?name=admin">请求测试1</a>
<a href="#">请求测试2</a>
<br>
request获得参数:<%=request.getParameter("name") %> <br>
当前项目名:<%=request.getContextPath() %> <br>
请求的IP地址:<%=request.getLocalAddr() %> <br> </body>
</html>
测试结果:

-------------------------------
注:
本文内置对象部分的内容综合参考自其他技术博文及百科相关补充!
Servlet和JSP学习指导与实践(三):JSP助阵的更多相关文章
- Servlet和JSP学习指导与实践(一):Servlet API初探
前言: JavaSE如何跨度到JavaEE?原本java语言只是专门用于application桌面小应用程序的开发,但自从其追随CGI进入服务器端的开发之后便一发不可收拾.先是Servlet1.0,再 ...
- Servlet和JSP学习指导与实践(二):Session追踪
前言: web应用中经常需要对某些有用的信息进行存储或者附加一些信息.本文主要介绍session,即“会话”跟踪的几种不同方式~ ----------------------------4种管理ses ...
- jsp学习--JavaBean定义和在Jsp中使用JavaBean
一.JavaBean 1.什么是JavaBean JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:>>这个Java类必须具有一个无参的构造函数>>属性必须私 ...
- Jsp学习总结(1)——JSP九大内置对象和四种属性范围解读
一.四种属性范围 1.1.在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效 request:在一次服务请求范围内,服务器跳转后依然有效 session:-在一次会话范围内 ...
- JSP学习笔记(3)-JSP内置对象
有些对象不用声明就可以在JSP页面的Java程序片和表达式部分使用,这些对象就是JSP的内置对象. JSP常用的内置对象有request,response,session,application,o ...
- JSP学习笔记(2)-JSP语法
1.JSP页面的基本结构 (1)HTML标记符(2)JSP标记(3)变量和方法的声明(4)Java程序片(5)Java表达式 2.变量和方法的声明 成员变量和方法 语法:<%! 变量.方法%&g ...
- JSP学习笔记(1)-JSP简介
1.什么是JSP? JSP是Java server page的缩写,有sun公司倡导,许多公司参与,于1999年推出的一种web服务设计标准.JSP基于Java Servlet以及整个java体系的W ...
- jsp学习--如何定位错误和JSP和Servlet的比较
一.如何查找JSP页面中的错误 JSP页面中的JSP语法格式有问题,导致其不能被翻译成Servlet源文件,JSP引擎将提示这类错误发生在JSP页面中的位置(行和列)以及相关信息.JSP页面中的JS ...
- jsp学习与提高(三)——JSP Cookie 处理
1.cookie是什么 Cookie是存储在客户机的文本文件,它们保存了大量轨迹信息.在servlet技术基础上,JSP显然能够提供对HTTP cookie的支持. 通常有三个步骤来识别回头客: 服务 ...
随机推荐
- iOS---设置输入框的光标位置
//这里设置光标位置,让光标位置后移10 textField.leftView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 10, 0)]; tex ...
- iOS JsonModel 的使用
本文转自:http://blog.csdn.net/smking/article/details/40432287 下面讲一下JSONModel的使用方法. @inteface MyModel : J ...
- cms真实问题的来源以及模拟解决方案
先来描述一下cms问题的来源: 初始需求: 在开发的过程中有这样的一个处理时间显示的需求: 如果时间小于1分钟显示秒, 如果时间小于1小时显示分钟, 如果时间小于1天显示小时, 如果大于1天显示日期. ...
- 干货发布:VSS文件清理工具
一.功能:1.删除VSS文件(以.vssscc,.scc,.vspscc为后缀的文件)2.去除文件解决方案文件和C#项目文件中的VSS标签3.删除Bin和Obj目录 二.开发工具:vs 2010 三. ...
- SqlException 当前命令发生了严重错误 应放弃任何可能产生的结果
今天在信息发布功能时出现了一个怪异的错误(时而出错,时而不会): System.Data.SqlClient.SqlException: 当前命令发生了严重错误.应放弃任何可能产生的结果. >& ...
- .NET Framework各版本比较
(1)本文比较了.NET Framework多个版本之间的区别,方便各位选择和切换.NET Framework. 版本号 发布日期 Visual Studio的版本 Windows上的默认情况 CLR ...
- Warning: log write time 600ms, size 43KB
突然才发现一个数据库的LGWR进程的跟踪文件scm2_lgwr_5690.trc有大量的告警信息,如下所示: Warning: ;log write time 680ms, size 11569KB ...
- Linux 硬盘分区生效命令partprobe
在Linux中使用fdisk命令进行分区时,有时会遇到"WARNING: Re-reading the partition table failed with error 16: Devic ...
- mysql-7 数据检索(5)
联结(join) SQL最强大的功能之一就是能在数据检索查询的执行中联结(join)表.联结就是利用SQL的SELECT能执行的最重要的操作. 例子:此例子包含两个表,一个表是vendors , ve ...
- $.parseJson 在 firefox 下返回 null 的问题
最近调查一个浏览器兼容性问题,在 IE, chrome下都运行正常,但是在 firefox 下运行时: $.parseJson(xxx) 返回 null,所以导致了 无法正常运行,调查的结果是因为 返 ...