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
Java遇见HTML——JSP篇之JavaBeans的更多相关文章
- JAVA遇见HTML——JSP篇(JavaBeans)
1.像使用普通java类一样,创建javabean实例,利用构造方法创建实例 跟表单关联,“*”表示根据名称来进行匹配,就是根据表单所提交过来的参数的名字和Javabean当中的属性名字来进行一一匹配 ...
- JAVA遇见HTML——JSP篇:JavaBeans
Javabeans简介 Javabeans就是符合某种特定的规范的java类.使用Javabeans的好处是解决代码重复编写,减少代码冗余,功能区分明确,提高了代码的维护性. Javabean的设计原 ...
- Java遇见HTML——JSP篇之JSP基础语法
一.JSP简介 JSP全名为Java Server Pages,Java服务器端页面,其根本是一个简化的Servlet设计,它实现了在Java中使用HTML标签.Jsp是一种动态网页技术标准,是在服务 ...
- Java遇见HTML——JSP篇之商品浏览记录的实现
一.项目总体介绍 使用Cookie实现商品浏览记录. 要实现这个程序采取的是Model1(Jsp+JavaBean)架构实现,具体步骤: 首先要有个数据库,商品表,操作数据库的一个类DBHelper类 ...
- Java遇见HTML——JSP篇之JSP指令与动作元素
一.include指令(如:<%@include file="..."%> ) 示例: Date.jsp <%@page import="java.te ...
- Java遇见HTML——JSP篇之JSP状态管理
一.http协议的无状态 无状态性是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求.但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道他就是刚才的那个浏览器.简单的说,就是服务器不 ...
- Java遇见HTML——JSP篇之JSP内置对象(下)
一.什么是session 1.session表示客户端与服务器的一次会话2.Web中的session指:用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间 ...
- Java遇见HTML——JSP篇之JavaWeb简介
一.什么是WEB应用程序 Web应用程序是一种可以通过Web(互联网)访问的应用程序.Web应用程序的一个最大好处是用户很容易访问应用程序.用户只需要有浏览器即可,不需要再安装其他软件. 为什么要学习 ...
- JAVA遇见HTML——JSP篇(JSP状态管理)
案例:Cookie在登录中的应用 URL编码与解码的工具类解决中文乱码的问题,这个工具类在java.net.*包里 编码:URLEncoder.encode(String s,String enc)/ ...
随机推荐
- 【iCore系列核心板视频教程】之 SDRAM 读写实验
============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...
- HDU 3336 Count the string(KMP的Next数组应用+DP)
Count the string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 5521 Meeting(虚拟节点+最短路)
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total ...
- Linux权限问题
Linux中各个用户对文件和目录的权限有三种: r: 读 w:写 x:执行 各个权限的意义: 文件 r:可以读取文件的内容 w:编辑文件内容 x:执行该文件 目录 r:列出该目录下的内容,即使用ls命 ...
- 2016.09.14,英语,《Using English at Work》全书笔记
半个月时间,听完了ESLPod出品的<Using English at Work>,笔记和自己听的时候的备注列在下面.准备把每个语音里的快速阅读部分截取出来,放在手机里反复听. 下一阶段把 ...
- mysql字段额外属性,除去字段类型外的其他属性
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错. AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自 ...
- mysql关于字符串字段数据类型
字符串类型 字符串类型指CHAR.VARCHAR.BINARY.VARBINARY.BLOB.TEXT.ENUM和SET.该节描述了这些类型如何工作以及如何在查询中使用这些类型. 类型 大小 用途 C ...
- centos7 安装mysql5.7及配置
一.Mysql 各个版本区别:1.MySQL Community Server 社区版本,开源免费,但不提供官方技术支持.2.MySQL Enterprise Edition 企业版本,需付费,可以试 ...
- unity HideInInspector与SerializeField
[HideInInspector]表示将原本显示在面板上的序列化值隐藏起来. [SerializeField]表示将原本不会被序列化的私有变量和保护变量可以序列化,这么他们在下次读取时,就是你上次赋值 ...
- JsonCpp 简单使用
[转]自: http://www.cnblogs.com/ytjjyy/archive/2012/04/17/2453348.html JsonCpp 是一个C++用来处理JSON 数据的开发包.下面 ...