有好多话,想说确无从说起。有时候,触碰着自己的痛点,我总会避开他不去谈论。例如我现在,就是这样的。本来想着说点自己迫切要说的,但是还是扯到了别的地方---笔者买了一个平板,外加一个256gTF卡。虽然2000块就这么干没了,但是自己想做的想买的做到了,就是最大的慰藉。----闲扯结束。
一、什么是jsp
虽然,笔者写过好多好多的jsp代码。但是对jsp的具体定义,今天也是第一次。对于一个触碰电脑只有几年的人来说。一切都是未知的,充满好奇的领域。
百度百科里这样说:“
①JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计。
②JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(.jsp)。
③用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行它实现了Html语法中的java扩展(以 <%, %>形式)。
④JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
⑤JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
⑥Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。”
二、jsp动作
三、举例说明jsp7个动作
①jsp: include
`<jsp:include page="included.jsp" flush="true" />`
②jsp:useBean
<jsp:useBean id="currentDate" class="java.util.Date" scope="request" />
<%=currentDate.toString() %>
**【值得说明的地方】
scope="request" 每次请求服务器,得到新的时间
scope="application" 应用第一次创建useBean实例时便在内存中存储。除非重启服务否则不会改变
scope="session" 当前浏览器的一次请求,同session的属性。**
③ jsp:getProperty
<jsp:getProperty name="currentDate" property="seconds" />
【说明】
name为useBean中的ID、property为XXX.class中的属性名
④jsp:setProperty
<!-- 先利用setProperty设置对象属性 -->
<jsp:setProperty name="currentDate" property="seconds" value="38"/>
<!-- 我们再调用一遍瞅瞅 -->
<jsp:getProperty name="currentDate" property="seconds" />
⑤ jsp:param
<jsp:include page="params.jsp" >
<jsp:param name="p1" value="我喜欢"></jsp:param>
<jsp:param name="p2" value="婓蘋庅璩"></jsp:param>
</jsp:include>
⑥ jsp:forward
<jsp:forward page="要跳转的.jsp" />
⑦jsp:plugin:指定客户端运行的插件
四、演示jsp动作
A、定义include.jsp
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>呵呵,我是jsp:include的include.jsp</h1>
</body>
</html>
B、定义params.jsp
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
String p1 = new String(request.getParameter("p1").getBytes("ISO-8859-1"), "UTF-8");
String p2 = new String(request.getParameter("p2").getBytes("ISO-8859-1"), "UTF-8");;
%>
<%=p1 %>就是喜欢<%=p2 %>所以就有了<%=p1 %>_<%=p2 %>
</body>
</html>
C、定义jsp7个动作
<%@ 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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h2>jsp: include</h2>
<jsp:include page="included.jsp" flush="true" />
<h2>jsp:useBean</h2>
<jsp:useBean id="currentDate" class="java.util.Date" scope="request" />
<%=currentDate.toString() %>
<!--
【值得说明的地方】
scope="request" 每次请求服务器,得到新的时间
scope="application" 应用第一次创建useBean实例时便在内存中存储。除非重启服务否则不会改变
scope="session" 当前浏览器的一次请求,同session的属性。
-->
<h2>jsp:getProperty</h2>
<jsp:getProperty name="currentDate" property="seconds" />
<!--
【说明】
name为useBean中的ID、property为XXX.class中的属性名
-->
<h2>jsp:setProperty</h2>
<!-- 先利用setProperty设置对象属性 -->
<jsp:setProperty name="currentDate" property="seconds" value="38"/>
<!-- 我们再调用一遍瞅瞅 -->
<jsp:getProperty name="currentDate" property="seconds" />
<h2>jsp:param</h2>
<jsp:include page="params.jsp" >
<jsp:param name="p1" value="Red"></jsp:param>
<jsp:param name="p2" value="Ant"></jsp:param>
</jsp:include>
<%-- <h2>jsp:forward</h2>
<jsp:forward page="要跳转的.jsp" /> --%>
<!--<h2>jsp:plugin:指定客户端运行的插件</h2>-->
</body>
</html>
五、运行效果
【后话】:
jsp:plugin指定客户端运行的插件,这块肯定很有意思。以后看看有时间吗,研究下。
原文地址:http://blog.51cto.com/13479739/2296068