zoukankan      html  css  js  c++  java
  • JavaBean(web基础学习笔记十二)

    一、JavaBean简介

    JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁。JSP搭配JavaBean来使用,
    有以下的优点:
    • 可将HTML和Java代码分离,这主要是为了日后维护的方便。如果把所有的程序代码(HTML和Java)写到JSP 页面中,会使整个程序代码又多又复杂,造成日后维护上的困难。
    • 可利用JavaBean的优点。将常用到的程序写成JavaBean组件,当在JSP要使用时,只要调用JavaBean组件来执行用户所要的功能,不用再重复写相同的程序,这样一来也可以         节省开发所需的时间。

    二、JavaBean开发要求

    JavaBean本身就是一个类,属于Java的面向对象编程

    在JSP中如果要应用JSP提供的Javabean的标签来操作简单类的话,则此类必须满足如下的开发要求: 

    1. 所有的类必须放在一个包中,在WEB中没有包的是不存在的;
    2. 所有的类必须声明为public class,这样才能够被外部所访问;
    3. 类中所有的属性都必须封装,即:使用private声明;
    4. 封装的属性如果需要被外部所操作,则必须编写对应的setter、getter方法;
    5. 一个JavaBean中至少存在一个无参构造方法,此为JSP中的标签所使用。

    三、WEB开发的标准目录结构

    四、WEB项目中各个目录的作用

    No.
    目录或文件名称
    作用
    1
    WEB ROOT
    WEB的根目录,一般虚拟目录直接指向此文件夹,此文件夹下必然直接包含WEB-INF
    2
    WEB-INF
    WEB目录中最安全的文件夹,保存各种类、第三方jar包、配置文件
    3
    web.xml
    WEB的部署描述符
    4
    classes
    保存所有的JavaBean,如果不存在,可以手工创建
    5
    lib
    保存所有的第三方jar文件
    6
    tags
    保存所有的标签文件
    7
    jsp
    存放*.jsp文件,一般根据功能再建立子文件夹
    8
    js
    存放所有需要的*.js文件
    9
    css
    样式表文件的保存路径
    10
    images
    存放所有的图片,例如:*.gif或*.jpg文件。

    五、使用<jsp:useBean>指令

    jsp:useBean 动作用来装载一个将在JSP 页面中使用的JavaBean。这个功能非常有用,因为它使得我们既可以发挥Java 组件重用的优势,同时也避免了损失JSP 的方便性。jsp:useBean动作最简单的语法如下。

    <jsp:useBean id="name" class="package.class" scope="scope"/>
    其中,id 用于创建 JavaBean 的引用名;class 用于指定 JavaBean 的类;scope 用于指定
    JavaBean 的范围,默认情况下,scope 被设置为 page

    范 围 说 明

    • page JavaBean 只能在当前页面中使用。当加载新页面时就会将其销毁
    • request JavaBean 在用户对其发出请求时存在
    • session JavaBean 一直存在于会话中,直至其终止或被删除为止
    • application JavaBean 在整个应用程序中均可使用

     

    useBean 属性的使用如示例所示。
    <jsp:useBean id="order" class="y2javaee.sg.ch07.Order" scope="request"/>
    上述示例中代码的含义是:如果在scope 指定的范围内存在id 指定的对象,就返回该对象;
    如果不存在,就创建一个class 属性指定的Java 类的对象,并保存在id 指定的变量内。在JSP
    文件中,相当于:
    <%@page import=" y2javaee.sg.ch07.Order"%>
    <%
    Order order = (Order)request.getAttribute("order");
    if(order==null)
    order=new Order();
    %>

    六、<jsp:setProperty>

    setProperty 动作用于设置 useBean 中指定的 JavaBean 的属性值。setProperty 动作指定名称、属性、值和参数,用于赋给JavaBean 的属性。setProperty 动作的语法如下

    <jsp:setProperty name="BeanName" property="PropertyName" value="Value"
    param="Parameter" />
    其中,name 指定 useBean 中使用的JavaBean 的id;property 指定要为之设置值的JavaBean 的属性名称;value 指定要为属性设置的值;param 指定用于输入数据的表单元素名称,并给属性赋值。

    param 属性不能与 value 属性一起使用。

    七、<jsp:forward>

    <jsp:forward> 重定向一个HTML文件,JSP文件,或者是一个程序段.

    JSP 语法
    <jsp:forward page={"relativeURL" | "<%= expression %>"} />
    or
    <jsp:forward page={"relativeURL" | "<%= expression %>"} >
           <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />
    </jsp:forward>

     

    例子
    <jsp:forward page="/servlet/login" />
    <jsp:forward page="/servlet/login">
    <jsp:param name="username" value="jsmith" />
    </jsp:forward>
    描述
    <jsp:forward>标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象.<jsp:forward>标签以下的代码,将不能执行.

    你能够向目标文件传送参数和值,在这个例子中我们传递的参数名为username,值为scott,如果你使用了<jsp:param>标签的话,目标文件必须是一个动态的文件,能够处理参数.

     


    如果你使用了非缓冲输出的话,那么使用<jsp:forward>时就要小心。如果在你使用<jsp:forward>之前,jsp文件已经有了数据,那么文件执行就会出错.

    属性

    page="{relativeURL | <%= expression %>}"
    这里是一个表达式或是一个字符串用于说明你将要定向的文件或URL.这个文件可以是JSP,程序段,或者其它能够处理request对象的文件(如asp,cgi,php).

    <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+
    向一个动态文件发送一个或多个参数,这个文件一定是动态文件.

    如果你想传递多个参数,你可以在一个JSP文件中使用多个<jsp:param>。name指定参数名,value指定参数值.

     

     

     

    注意

    <jsp:forward>标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象。<jsp:forward>标签以后的代码,将不能执行

     

    八、动态包含和静态包含

  • 相关阅读:
    3.Appium运行时出现:Original error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device
    3.Python连接数据库PyMySQL
    2.Python输入pip命令出现Unknown or unsupported command 'install'问题解决
    2.Linux下安装Jenkins
    5.JMeter测试mysql数据库
    Android 4学习(7):用户界面
    Android 4学习(6):概述
    Android 4学习(5):概述
    Android 4学习(4):概述
    Android 4学习(3):概述
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4248390.html
Copyright © 2011-2022 走看看