JSP基本语法

JSP原理:

1.    对于每一个请求,jsp容器都会创建一个新的线程来处理它;

2.    Servlet容器加载jsp后转换成的servlet(.class文件)是常驻内存的,所以相应速度一般比较快;(第一次可能会稍慢)

3.    当请求处理完成后,相应对象由JSP容器接收,并以HTML格式响应发回客户端。

 

JSP组成:

HTML + JSP注释 + JSP指令 + JSP脚本元素 + JSP动作元素

 

JSP注释:<!—-> / <% %> / <%! %>

 

JSP指令:page +include + taglib指令

       向JSP引擎提供便以信息。可以设计全局变量,如声明类、要实现的方法和输出内容的类型等。一般的,JSP指令在整个页面范围内有效,且并不向客户端产生任何输出。所有的JSP指令都只在当前的整个页面中有效。

格式: <%@指令标记属性1=“属性值1”属性2=“属性值2”%>

 

Page指令:

共包含13个属性,主要的如下:

session:指定JSP页面中是否可以使用Session对象;

ErrorPage:当JSP页面出错时,跳转错误处理页面;

contentType:指定JSP页面的编码方式和JSP页面响应的MIME类型;

pageEndoding:指定页面编码格式。

 

例如:

<%@ page contentType=”text/html;charset=GB2312”import=”Java.util.*”%>

<%@ page pageEncoding=”UTF-8” %>

 

page指令对整个页面有效,而与其书写位置无关,但一般写在页面最上方。

 

include指令:

文件加载指令,用于在JSP文件中插入一个包含文本或者代码的文件。它把文件插入后与原来的JSP文件合并成一个新的JSP页面。

<%@ include file=”被包含文件的地址”%>

 

·  个人觉得可以用来封装一些静态的代码块,如:js的倒计时等

 

taglib指令:

用来引用标签库并设置标签库的前缀。这个指令允许JSP页面使用用户自定义的标签,它也可以为标签库命名,标签在这个库中定义:

<%@ taglib uri=”tagLibraryURI” prefix=”tagPrefix”%>

包含了连个属性,uri用来指定标签文件或标签库的存放位置,prefix属性用来指定该标签库使用的前缀。

使用如:

<%@ taglib prefix=”c” uri=http://java.sun.com/jsp/jstl/core%>

<s:out value=”taglib example”>

 

JSP脚本元素

脚本元素是JSP中使用最频繁的元素,通过JSP脚本可以将Java代码嵌入到HTML页面中。所有可执行的Java代码,都可以通过JSP脚本来执行。

三种类型:JSP声明语句 + JSP表达式 + JSP Scriptlets

 

JSP声明语句

<!% 变量或方法定义%>

 

JSP表达式:

<%= %>

 

JSP Scriptlets:

<% code… %>

 

JSP动作元素

JSP动作元素用来控制JSP行为,执行一些常用的JSP页面动作。通过动作元素可以实现使用多行Java代码能够实现的效果,如动态插入文件、重用JavaBean组件、自定义标签等。

动作元素:

<jsp:include> + <jsp:forward> +<jsp:param> + <jsp:plugin> + <jsp:useBean> +<jsp:setProperty> + <jsp:getProperty>

后三个用在与JavaBean的连接中。

 

<jsp:include>

提供了一种在JSP页面中包含页面的方式。(与<%@ include %>指令不同)这里如果包含JSP动态页面,是先运行其(单独编译运行),之后将其结果返回至现有JSP页面。

 

<jsp:forward>

用于页面重定向的动作元素,作用是停止当前JSP页面的执行,而将客户端请求转交给另一个JSP页面。

转发与重定向区别:转发是在服务器端进行的,不会引起客户端的二次请求,因此浏览器的地址栏不会变,效率也比重定向要高。

 

<jsp:param>

提供参数的附属动作元素,它以“名-值”对的形式为其他动作元素提供附加信息,一般与<jsp:include>/<jsp:forward>/<jsp:plugin>联合使用。

<jsp:param name=“参数名字” value=“参数值”>

 

与<jsp:include> 一起使用:(页面传值)

<jsp:include page=”sum.jsp”>

       <jsp:paramname=”number” value=”200” />

</jsp:include>

·  之后在sum.jsp中,可以使用request.getParameter(“number”)获取200属性值

 

与<jsp:forward>一起使用:(页面传值)

可以实现在跳转页面同时向转向页面传值的功能!

<jsp:forward page=”userinfo.jsp”>

       <jsp:paramname=”name” value=”jack”>

</jsp:forward>

 

<jsp:plugin>动作元素:

可以讲服务器端的JavaBean或Applet下载到客户端执行,语法如下:

 

<jsp:userBean>/<jsp:setProperty>/<jsp:getProperty>

都是与JavaBean相关的动作元素。

发表评论

邮箱地址不会被公开。 必填项已用*标注

昵称 *