zoukankan      html  css  js  c++  java
  • Java遇见HTML——JSP篇之JavaBeans

    一、JavaBean简介及设计原则

    设计原则:公有类、无参的公有构造方法、属性私有、有getter and setter方法

    实例:

    二、Jsp动作元素

    JSP动作标签分为五大类:

    三、在JSP页面中如何使用JavaBeans

     3.1使用普通方式应用javabean

    像使用普通Java类一样,创建javabean实例(new关键字)

    例子:首先先建一个user类,遵循Javabean的原则。

    如何在jsp页面进行使用呢

    具体分析就是:1、创建一个web project项目。
    2、在src文件下,创建一个包,在包中创建一个类,满足设计原则即可
    3、在index.jsp页面中通过import导入之前创建的类(import="包名.类名")
    4、通过使用new创建Javabean实例(创建对象)
    5、使用set方法赋值
    6、使用get方法取值

     3.2、使用JSP动作标签使用javabean

    在JSP页面中通常使用jsp动作标签使用javabean。

    主要是以下三种动作标签:

    • useBeans动作
    • setProperty动作
    • getProperty动作

      3.2.1、<jsp:useBeans>

    作用:在jsp页面中实例化或者在指定范围内使用Javabean。

    其中Java类名应该是Java类的全名(含有包名)。

    例子:

      3.2.2、<jsp:setProperty>

    作用:给已经实例化的JavaBean对象的属性赋值,一共有四种形式。

    给实例化的Javabean对象赋值有四种方式:1.使用表单自动匹配所有的属性

                        2.使用表单自动匹配部分属性

                        3.跟表单无关,用户自己赋值

                        4.使用URL传参( 在form标签里这样写 action="dologin.jsp?mypass=99999" )

    例子:方式一(根据表单对应的name与javabean对应的所有属性名自动匹配)

    表单:

    用第①种给实例化的JavaBean对象的属性赋值:

    java类:

    分析:会自动去匹配名字,然后去调用Java类相应的构造方法,把表单提交过来的值给属性赋值。那么这样就实例化并给Java类属性赋值了。赋值之后就可以获取表单提交的用户名和密码了。

    例子:方式二(根据表单对应的name与javabean对应的部分属性名自动匹配)

    如:

    此处只匹配了用户名username。

    例子:方式三(与表单无关,通过手工赋值给属性)

    Ps:value也可以request.获取

    例子:方式四(使用URL传参给属性赋值)

    此处username是通过表单提交赋值,password是通过URL传参赋值。

      3.2.3、<jsp:getProperty>

    作用:获取指定JavaBean对象的属性值。

    如:

    四、JavaBean四个作用域范围

    说明:
    使用useBean的scope属性可以用来指定javabean的作用范围

    scope="page" 仅在当前页面有效(重定向或者服务器内部转发均后均无效)
    scope="request" 可用request.getAttribute()方法获得javabean对象。在当前请求及服务器转发后的请求中有效。
    scope="session" 可用session.getAttribute()方法获得javabean对象。在当前会话session有效期间,该对象均有效。
    scope="application" 可用application.getAttribute()方法获得javabean对象。范围最广
    -- 作用域范围从小到大依次为:page < request < session < application.

    page(作用域单个页面)、request(作用域单个请求)、session(作用域单个会话)、application(作用域整个web应用)

    例子:application、session

    页面1

    页面2

    例子:request

    页面1

    (需要使用服务器内部转发来保证是同一次请求)

    页面2

    例子:page

    页面1

    页面2

    这里即使使用pageContext也是获取不到页面1的属性值。

    五、Model1简介

     Model1模型是使用JSP+javabeans模式。客户发送请求到JSP页面,以前由JSP页面直接连接数据库则可维护性和扩展性太差,因此通过JSP页面调用javabeans来访问数据库,则可以维护这个系统的扩展性,再由JSP页面返回给客户。

     

    则Model1可分为三层:
    1.界面层:由JSP页面进行与客户端浏览器的交互,可以直接调用JavaBeans。
    2.业务逻辑层:由JavaBeans进行处理业务逻辑,封装数据,并与数据库层进行交互。
    3.数据库层:底层数据库,可由JavaBeans来访问数据库。

    注:Javabean既可以封装数据同时也可以封装业务逻辑。

    六、阶段案例

    阶段案例:使用jsp+javabean(即model1)完成用户登录功能。

    分析:

    先创建用户类Users (这个Javabeans是用来封装数据的)

    下面编写业务逻辑类UsersDao (这个Javabeans是用来封装业务逻辑的)

    编写界面login.jsp

    doLogin.jsp

  • 相关阅读:
    【超分辨率】—基于深度学习的图像超分辨率最新进展与趋势
    【超分辨率】—超分辨率补充问题
    随机采样一致算法RANSAC
    【相机篇】从到FlyCapture2到Spinnaker
    【超分辨率】—(ESRGAN)增强型超分辨率生成对抗网络-解读与实现
    AI佳作解读系列(六) - 生成对抗网络(GAN)综述精华
    AI佳作解读系列(五) - 目标检测二十年技术综述
    TroubleShooting经验总结
    读书笔记 - 《深度学习之美》(更新中...)
    深度学习中那些有趣的定理或理论
  • 原文地址:https://www.cnblogs.com/Qian123/p/5277425.html
Copyright © 2011-2022 走看看