Java Web

第一章


1.java web开发模式:5种

1)单一的JSP模式
    在jsp文件中包含各种代码,如html标记,css标记,javascript标记,逻辑处理,数据库处理代码等
2)JSP+JavaBean模式
    将jsp页面响应交给JavaBean处理,最后将结果返回给客户。实现业务的显示和业务的逻辑分离。
    使用jsp技术中的html、css等可以容易地构建数据显示页面,
    对于数据处理可以交给JavaBean技术,同时也达到了代码重用的目的。
    
3)JSP+JavaBean+Servlet模式
    很好地实现了MVC模式,
    view(代表用户交互界面)是jsp文件,即页面显示部分;
    controller(可以理解为从用户接收请求将模型与视图匹配在一起,共同完成客户的请求)用Servlet来实现,即页面显示的逻辑部分实现;
    model(就是业务流程/状态的处理及业务规则的制定)常用服务端的JavaBean或者EJB实现,即业务逻辑的实现

4)Struct框架模式
5)J2EE模式




第二章 JSP语法


(一个JSP页面实际上是由Java代码段嵌入到HTML标记中构成的)

1.JSP页面的构成
JSP页面是指扩展名为.jsp的文件。

一个JSP页面由两部分组成:
(1)jsp页面的静态部分,如html,css标记等,用来完成数据显示和样式;

(2)jsp页面的动态部分,如脚本程序、JSP标签等,用来完成数据处理。其中动态部分包括4个元素,分别为注释元素、脚本元素、指令元素和动作元素。

        a)脚本元素用来嵌入Java代码,这些代码将转换得到Servlet的一部分,脚本元素又分为声明、表达式和脚本执行程序;

        b) JSP指令用于从整体上控制Servlet的结构

        c) 动作用来引入现有的组件或控制引擎的行为

jsp页面中允许使用的页面元素

元素名称       说明                                                         示例

静态部分     html和css静态文本                                  <h1>jsp<h1>

注释            <!--注释-->和<%--注释--%>两种               <!--声明部分-->

指令            以"<%@"开始,以"%>"结束                    <%@page language="java"%>

表达式        <%=java表达式%>                                   <%=stuName%>

脚本             <%Java代码%>                                        <%stuName="jsp";%>

声明            <%!声明一个Java类或者方法%>                <%!public class Person{}%>

动作           以"<jsp:动作名>开始,以"<jsp:动作名>"结束 <jsp:include page="top.jsp"></jsp:iniclude>


2.JSP注释

(1)HTML注释

就是在HTML代码中的解释或者说明性文字。语法格式为<!--注释内容-->,其中注释内容可以是JSP表达式,也可以是说明性文字。

注释格式:

1)HTML注释:<!--注释内容-->,应用在HTML代码中的解释性或者说明性文字。

2)隐藏注释:<%--注释内容-->,为了避免重要的注释信息在源文件中出现。

3)代码注释:

                a)单行注释:<%//注释内容%>

                b)多行注释:<%/*    注释内容1             
                                                   注释内容2
                                                    ........
                                             */
                                           %>


                                   <%/**  
                                           *注释内容1
                                             *注释内容2
                                             *......
                                            */
                                        %>

 

3.JSP脚本元素

JSP的脚本元素可以分为声明、表达式和脚本所有的脚本元素都是以<%开头,以%>结尾的。

(1)脚本:在JSP页面中插入的所有Java代码都可以叫做Java脚本。它在页面请求的处理期间被执行,可以通过JSP内置对象在页面输出内容、访问session绘画、编写流程控制语句等。

语法格式:<%任意的Java代码%>

(2)表达式:一个在Java脚本语言中被定义的Java表达式,在运行时被自动转换成字符串,然后插入到这个表达式在JSP文件中的位置显示。

语法格式:<%=某个表达式%>

规则:

1)表达式的内容必须完整

2)表达式的内容必须是一个单独的Java表达式

3)不能以一个分号结束一个Java表达式

4)表达式的后面不带分号。


(3)声明:用来定义页面级变量,以保存信息或定义JSP页面的其余部分可能需要的支持方法。

声明格式:<%!java声明%>

1)声明变量

2)声明方法

3)声明类


4.指令元素和动作元素

1.指令元素:是为JSP引擎设计的,主要用于设置整个JSP有效的相关信息,这些信息不直接产生任何输出,而只是告诉引擎如何处理其余JSP页面。最常用的指令有page、taglib、include。

语法形式:<%@ 指令名 属性1="属性值1" 属性2="属性值2" ...%>

(1)page指令:用于定义整个JSP页面中的全局属性,描述了和页面相关的指示。

page指令的主要属性如下:

<@ page extends="类名"

                import="Java类列表"

               session="true|false"

              buffer="none|8KB|自定义缓冲区大小"

              aotuFlush="true|false"

             inThreadSafe=="true|false"

             info="页面信息"

             errorPage="页面出错时,处理错误页面的URL"

            isErrorPage="true|false"

            contentType="内容类型信息"

          pageEncoding="字符编号"

         isELIgnored="true|false"

%>



(2)taglib指令:允许在JSP页面使用给用户自己定义的标签

语法:<%@ taglib uri="tablibURI" prefix="tagPrefix"%>

其中uri表示标签库的地址,用于告诉JSP容器如何找到标签描述文件和标签库;prefix表示在JSP页面里引用这个标签的前缀,这些前缀不可以是jsp,jspx,javax,javax,sun,servlet,sunw。

(3)include指令:是页面中的文件包含指令,它可以将在指定位置上的资源内容包含到当前JSP页面。被包含的文件内容在编译期间被解析,让你后插入到源文件include指令的位置,再继续执行。

语法:<%@ include file="relativeURL"%>

file属性为要包含文件的URL地址,可以使用相对路径,也可以是网络路径。

2.动作元素

用于在JSP页面执行某一个操作,如动态包含某一文件、转向另一个文件或者调用JavaBean等。动作元素和指令元素不同,动作元素实在客户端请求时期动态执行的,每次有客户端请求时可能都会被执行一次,而指令元素是在编译时期被执行的,它只会编译一次。

语法格式:1)空标记形式:

                        <jsp:动作名称 属性1="属性值1" 属性2="属性值2"....../>

或者          2)非空标记形式:

                        <jsp: 动作名称 属性1="属性值1" 属性2="属性值2"......>

                  ...

                </jsp:动作名称>

常用的6个动作元素,分别是include、forward、param、useBean、setProperty和getProperty.

(1)<jsp:include>:与include指令十分相似,都可以将包含进来的文件插入到JSP页面的特定位置。但是include动作实在页面的执行过程中被插入,而不是在JSP页面被编译的过程中插入。

<jsp:include>有两个属性,flush和page。如<jsp:include page="URL" flush="true">

1)flush:可选,设置是否刷新缓冲区,默认为false,如果设置为true,在当前页面输出使用缓冲区的情况下首先刷新缓冲区,然后智能型包含操作。

2)page:制定被包含资源的相对路径,该路径是相对于当前JSP页面的URL。

 (2)<jsp:forward>:作用是将客户端所发送的请求从一个JSP页面转发到另一个JSP页面、Servlet或者静态资源文件,请求被转向的资源必须位于发送请求的JSP页面相同的上下文环境中。当执行期间遇到此动作时,就停止当前JSP页面的执行,转而执行被转发的资源。因此许愿而别主义的,当前页面的<jsp:forward>标签之后的程序将不能被执行。

语法格式:<jsp:forward page={"URL"|"<%=expression%>"}/>

    或者      <jsp:forward page={"URL"|"<%=expression%>"}>

                        <jsp:param name="paramName" value="paramValue"/>

                  </jsp:forward>

(3)<jsp:param>:该动作元素用来以“名-值(name-value)”对的形式为其他动作提供附加信息,他一般与<jsp:include>,<jsp:forward>,<jsp:plugin>动作配合使用,用于向这些动作元素传递参数。

语法:<jsp:param value="value" name="name"/>

(4)<jsp:javaBean>、<jsp:setProperty>和<jsp:getProperty>

在JSP页面中引入JavaBean可以将HTML网页代码与Java实现分离,使业务逻辑变得更加清晰。使用<jsp:useBean>动作可以创建一个JavaBean实例到JSP页面,<jsp:setProperty>动作用作为JavaBean的属性赋值,<jsp:getProperty>动作用作读取JavaBean属性的值。

<jsp:useBean>标签用来在JSP页面中创建一个Bean实例,并指定它的名字和作用范围,他保证对象在指定的标签内可以使用。

语法:<jsp:useBean id="name" scope="page"|request|session|application" class="package.class"                           beanName="beanName"/>

1)id:用于定义一个变量名(可以理解为一个JavaBean的标识符),程序通过此变量名对Bean进行引用。

2)scope:指定JavaBean的作用域,可选值有page、request、session、和application,默认值是page。

3)class:指定JavaBean的完整类名

4)beanName:指定JavaBean的完整类名,此属性不能和class同时存在。

<jsp:setProperty>和<jsp:getProperty>动作的语法格式如下:

<jsp:setProperty name="beanName" property="propertyName" value="propertyValue"/>

<jsp:getProperty name="beanName" property="propertyName"/>

其中,各个参数含义如下。

1)name:表示要读取或者设置属性的JavaBean实例名称

2)property:表示要读取或者设置属性的JavaBean属性名称,如果为"*"表示所有属性。

3)value:制定为JavaBean属性的赋值




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值