Jsp自我学习笔记1

来源:互联网 发布:局域网禁用软件 编辑:程序博客网 时间:2024/05/15 09:16

Jsp自我学习笔记1


一 . 什么是JSP

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。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访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

二 .常用的JSP指令

Jsp包含三个编译指令和七个动作指令。

三个编译指令为:page、include、taglib。

1.1 page指令
通常位于jsp页面的顶端,同一个页面可以有多个page指令。语法格式如下:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>

其中language=”java”和contentType=”text/html”必有,其他为可选。

1.2 include指令
使用 include 指令,可以将一个外部文件嵌入到当前 JSP 文件中,同时解析这个页面中的 JSP 语句(如果有的话)。这是个静态的 include 语旬,不会检查所包含 JSP 页面的变化。
include 既可以包含静态的文本,也可以包含动态的 JSP 页面。静态的编译指令include ,是将被包含的页面加入进来,生成一个完整的页面。
include 编译指令的语法:
<% @include file="relativeURLSpec" %>

taglib使用很少,不再举例。

七个动作指令为:jsp:forward、jsp:param、jsp:include、jsp:plugin、jsp:useBean、jsp:setProperty、jsp:getProperty。

1、 forward指令:forward 指令用于将页面响应控制转发给另外的页面。既可以转发给静态的 HTML页面,也可以转发到动态的 JSP 页面,或者转发到容器中的 Servlet。
jsp:forward语法:
<jsp:forward page="{relativeURL |<%=expression%>}" />
还可以这样写:
<jsp:forward page="{relativeURL |<%=expression%>}">
{<jsp:param…/>}
</jsp:forward>

第二种语法用于在转发时增加额外的请求参数。增加的请求参数的值可以通过HttpServletRequest 类的 getParameter方法获取。

2、 include指令,它是一个动态的指令,可以用于导入某个页面。它的导入会每次检查被导入页面的改变。下面是included的语法:
<jsp:include page="{relativeURL |<%=expression%>}" flush="true" />
或者:
<jsp:include page="{relativeURL |<%=expression%>}" flush="true">
<jsp:param name="paramName" value="paramValue"/>
</jsp:include>

注意它与 页面编译指令include 是不同的
主要有两个方面的不同;
2.1:执行时间上:
<%@ include file="relativeURI"%>
是在翻译阶段执行
<jsp:include page="relativeURI" flush="true" /> 在请求处理阶段执行.

2.2:引入内容的不同:
<%@ include file="relativeURI"%>
引入静态文本(html,jsp),在JSP页面被转化成servlet之前和它融和到一起.

<jsp:include page="relativeURI" flush="true" />
引入执行页面或servlet所生成的应答文本.
另外在两种用法中file和page属性都被解释为一个相对的URI.如果它以斜杠开头,那么它就是一个环境相关的路径.将根据赋给应用程序的URI的前缀进行解释,如果它不是以斜杠开头,那么就是页面相关的路径,就根据引入这个文件的页面所在的路径进行解释.

3 . useBean、setProperty和getProperty指令

这三个指令都是与JavaBean相关的指令,其中useBean用于在jsp页面初始化一个java实例,setProperty用于修改JavaBean实例的属性,getProperty用于获取JavaBean实例的属性。

useBean的语法格式:
<jsp:useBean id="class=" scope="page|request|session|application" />
Id是JavaBean的实例名,class属性确定JavaBean的实现类。Scope属性确定生存范围【页面、请求、会话、应用】

setProperty的语法格式:
<jsp:setProperty name="" property="" value="" />
Name属性确定需要设定。

4 .plugin指令
plugin 指令主要用于下载服务器端的 JavaBean 或 Applet 到客户端执行。由于程序在客户端执行,因此客户端必须安装虚拟机。在这里就不说明了。

三 .JSP九大内置对象

request:用户端请求,此请求会包含来自 GET/POST请求的参数;
response:网页传回用户端的回应;
pageContext:网页的属性是在这里管理;
session:与请求有关的会话期;
application:servlet 正在执行的内容;
out:用来传送回应的输出;
config:servlet 的构架部件;
page:JSP 网页本身;
exception:针对错误网页,未捕捉的例外。

具体使用时再详细说明。


四.简单实验

实验要求:
1.在页面中输出乘法口诀表

2.编写三个JSP页面:first.jsp 、second.jsp和third.jsp。另外,要求用“记事本”编写一个TXT文件hello.txt。hello.txt的每行有若干个英文单词,单词之间用空格分隔,每行之间用“

分隔,如下所示:
hello.txt
package apple void back public

private throw class hello welcome
(1)first.jsp的具体要求
first.jsp使用page指令设置contentType属性的值是text/plain,使用include指令静态插入hello.txt文件。
(2)second.jsp的具体要求
second.jsp使用page指令设置contentType属性的值是application/vnd.ms-powerpoint,使用include指令静态插入hello.txt文件。
(3)third.jsp的具体要求
third.jsp使用page指令设置contentType属性的值是application/msword,使用include指令静态插入hello.txt文件。

其中hello.txt文件内容如下:

    hello.txt     package apple void back public    <br/>     private throw class hello welcome  

首先是实验1 乘法口诀表的页面:

<!DOCTYPE html><html><head>    <meta charset="utf-8">    <title>乘法表</title></head><body><br/><br/><h2>乘法表</h2><br/><br/><br/>    <% for(int i=1;i<=9;i++){        for(int j=1;j<=9;j++){        if(j<=i){        //out.print(i+"*"+j+"="+i*j);    %>         <%=j%> * <%=i%> == <%=i*j%>         &nbsp;     <%        }    %>    <%} %>    <br/>    <%} %></body></html>

然后是实验2
frist.jsp

<%@ page language="java" contentType="text/plain"%><!DOCTYPE html><html><head>    <title>Frist</title>    <meta charset="utf-8"></head><body><jsp:include page="hello.txt" /><!-- <%@ include file ="hello.txt" %> --></body></html>

second.jsp

<%@ page language="java" contentType="application/vnd.ms-powerpoint"%><!DOCTYPE html><html><head>    <meta charset="utf-8">    <title>Second</title></head><body><!-- <jsp:include file="hello.txt" /> --><%@ include file ="hello.ppt" %></body></html>

third.jsp

<%@ page language="java" contentType="application/ms.word" %><!DOCTYPE html><html><head>    <title>Thrid</title></head><body><!-- <jsp:include file="hello.txt" />s  --><%@ include file="hello.txt" %></body></html>
0 0
原创粉丝点击