【DRP】——JSP 今天药忘吃喽~ 2022-06-18 02:36 162阅读 0赞 # 【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个内置对象】][JSP_9]:http://blog.csdn.net/koches/article/details/7785415 # # [【JSP的四个作用域】][JSP]:http://blog.csdn.net/koches/article/details/7785438 # # [【转发与重定向】][Link 1]:http://blog.csdn.net/uk8692/article/details/12865571 # ![Center][] # 【JSP优点】 # 1、优良的性能:优于CGI,PHP,ASP 2、平台无关性:操作系统无关,Web服务器无关 3、可扩展性:tag的扩展机制,简化页面开发 [JSP_9]: http://blog.csdn.net/koches/article/details/7785415 [JSP]: http://blog.csdn.net/koches/article/details/7785438 [Link 1]: http://blog.csdn.net/uk8692/article/details/12865571 [Center]: /images/20220618/19e734bac0874f9e8d4a7282f97783e8.png
还没有评论,来说两句吧...