【DRP】——JSP

【JSP】

  JSP全名为Java Server Pages,中文名叫java服务器页面,拥有servlet的特性与优点,JSP就是Servlet,直接在HTML中内嵌Java代码,JSP程序由JSP Engine先将它转换成Servlet代码,接着将它编译成类文件载入执行,只有当客户端第一次请求JSP时,才需要将其转换、编译。

【JSP页面结构】

  构造一个JSP页面,除了可内嵌规则的HTML代码之外,还有三类主要的JSP元素:脚本元素(Scripting Element),指令(Directive)和动作(Action)。

  1、脚本元素用来嵌入Java代码,这些Java代码将成为转换得到的Servlet的一部分;
  2、指令用来从整体上控制Servlet的结构;
  3、动作用来引入现有的组件来控制Web容器的行为。
  此外,为了简化脚本元素,JSP定义了一组可以直接使用的隐式对象变量。

【脚本元素(Scripting Element) 】

  脚本元素包含三个部分:Scriptlet、Expression(表达式)和Declaration(声明)。
  1、Scriptlet元素允许Java代码被直接嵌入到JSP页面。
  2、Expression元素是Java语言表达式,它的值用于计算以及作为字符串返回到页面。
  3、Declaration元素用于声明在页面中初始化的变量、方法和类。

Scriptlet元素

  1、基本语法:<%程序代码区%>

  2、可以放入任何的Java程序代码,采用<% %>定义的代码,都会放到jsp_service方法中,作为局部变量使用,采用方式使用广泛
例:

<%
for (int i=0;i<10,i++)
{
	… …
}
%>

表达式(Expression)

  1、基本语法: <%=… …%>
  2、=后面必须是字符串变量或者可以被转换成字符串的表达式
  3、不需要以;结束
  4、只有一行

例:

<%=“hello world”%>
<%=i+1%>
<%=request.getParameter(“name”)%>

Comment

注释格式:

<%--… …--%>
<%  //… …   %>
<%   /*… …*/   %>

Declaration元素

  1、基础语法:<%!declaration;%>

  2、功能:在JSP程序中声明变量、方法和类。声明是以<%!为开始,%>为结尾的。

  3、注意:

  (1)编译JSP时,scriptlet生成了_jspService()方法的一部分,而Declaration(声明)却生成于_jspService()方法之外,与源文件合为一起。使用<%! %>方式所声明的变量为全局变量,即表示若同时有n个用户在执行此JSP网页时会共享此变量。因此应尽量少用声明变量,若要使用变量时,直接在Scriptlet之中声明使用即可;

  (2)每一个声明仅在一个页面中有效,如果要在每个页面都用到一些声明,最好把它们写成一个单独的JSP网页,然后用<%@include%>或<jsp:include >元素包含进来;

  (3)<%与!之间不能有空格;

  (4)Declaration元素必须是完整的Java语句,以分号结尾,和Scriptlet元素一样;

  (5)Declaration元素不能产生任何输出,而Scriptlet和Expression元素可以产生输出。

【指令(Directive)】

  1、相当于编译期间的命令

  2、基本格式:<%@Directive 属性=“属性值”%>

  3、常见的Directive:page、include、taglib

Page

1、page指令是针对当前页面的指令

2、指明与JSP Container的沟通方式

3、基本格式:

<%@page language=“script language”|
			extends=“className”|--定义此JSP网页产生的Servlet是继承哪个
			import=“importList”|--此JSP网页要使用哪些Java API
			buffer=“none|kb size”|   --none:不缓冲,默认8k
			session=“true|false”|   --是否可以使用session,默认true
			autoFlush=“true|false”  --缓冲器是否自动清除,默认true
			isThreadSafe=“true|false”|  --默认false(永远不要设成true)
			info=“infoText”|    --任何字符
			errorPage=“errorPageUrl”|--如果此页发生异常,网页会重新指向一个url
			isErrorPage=“true|false”|--是否为错误处理页面。默认为false
			contentType=“contentTyepInfo”|--表示MIME类型		pageEncoding=“gb2312”|--编码方式
%>

【Action】

1、JSP动作不同于JSP指令,它利用XML语法格式的标记来控制Servlet引擎的行为。JSP动作可以改变out流,以及创建和使用对象。遵循XML标准,JSP动作也可以有属性。

2、有2个属性是所有JSP动作共有的:一是id属性;二是scope属性。
  id属性唯一地标识JSP动作,这就允许在JSP页面内引入动作。
  scope属性标识JSP动作的生命期。scope属性有4个可能的值:page、request、session、和application。
  id属性和scope属性直接相关,因为scope属性决定与id相关联的对象的生命期。

3、JSP动作的语法如下:
  <jsp:action attribute="attribute value"/>
4、JSP动作可以分为两类:
JavaBean动作都涉及在JSP页面内使用服务器端JavaBean,包括:
 <jsp:useBean>: 用于寻找或者实例化一个新的javaBean供以后在JSP页面中使用。
 <jsp:setProperty> :设置JavaBean的属性。
 <jsp:getProperty>:获取JavaBean的属性。
Resource动作
 <jsp:include>: 可以用于将静态和动态页面插入当前页面。
 <jsp:forward>:终止当前页面的动作并将请求转发到另一个资源。
 <jsp:plugin>:根据浏览器的类型,插入通过Java插件运行Java Applet所必须的OBJECT和EMBED元素。

【JSP中的9个内置对象】:http://blog.csdn.net/koches/article/details/7785415

【JSP的四个作用域】:http://blog.csdn.net/koches/article/details/7785438

【转发与重定向】:http://blog.csdn.net/uk8692/article/details/12865571

      

【JSP优点】

  1、优良的性能:优于CGI,PHP,ASP
  2、平台无关性:操作系统无关,Web服务器无关
  3、可扩展性:tag的扩展机制,简化页面开发


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值