JavaWeb学习笔记1- javaBean - Ryan的修炼之路
JavaBean
JavaBean规范
JavaBean是一个公共的类
JavaBean有一个不带参数的构造函数
JavaBean通过setXXX方法设置属性,并且通过getXXX方法获取属性
属性私有
package com.po;public class Users { private String username; private String password; public Users() {} public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
jsp访问javaBean
和普通java类使用相同
1. 导入javaBean类
<%@ page import = "com.po.Users" %><%
2. 声明javaBean对象
<% Users user = new Users(); user.setUsername("admin"); user.setPassword("12345"); %>
3. 访问对象
用户名: <%= user.getUsername() %><br>密码: <%= user.getPassword() %><br>
useBean动作
<jsp:useBean id = "user" class = "com.po.Users" scope = "page"/>
javaBean动作元素
useBean()
<jsp:useBean id="标示符" class="java类名" scope="作用范围"/>
getPropertyName()
作用:获取指定javabean对象的属性值。
<jsp:getProperty name="JavaBean实例名" property=“属性名”/>
setPropertyName()
需要表单提交属性:
<jsp:setProperty name="Javabean实例名" property="*"/>
与之前页面提交的表单的【所有属性进行匹配】,若有与javabean类属性名相同的,则进行赋值。比如表坛提交了username="xxx",而javabean里有username属性,则对其进行赋值
需要表单提交属性
<jsp:setPropery name="Javabean实例名" property="javabean属性名" />
:对【指定的属性进行匹配】
手动设置属性:
<jsp:setProperty name = "Javabean实例名" property="Javabean属性名" value="BeanValue" />
与request参数有关,通过url传参 :
<jsp:setProperty name="Javabean实例名" property="propertyName" param="request对象中的参数名" />
javaBean范围
使用useBeans的scope属性可以用来指定javabean的作用范围, <jsp:useBean>
标签中的scope属性决定了JavaBean对象存在的范围,scope可选值包括:
scope="page"
仅在当前页面有效(重定向或者服务器内部转发均后均无效)
客户每次请求访问JSP页面时,都会创建一个JavaBean对象。JavaBean对象的有效范围是客户请求访问的当前JSP页面,JavaBean对象在以下两种情况下会结束生命周期:
通过
<jsp:forward>
标签将请求转发到另一个文件。客户请求访问的JSP页面执行完毕并向客户端发送响应。
scope="request"
可用request.getAttribute()方法获得javabean对象.
在request范围内,JavaBean对象的有效范围为:
客户请求访问的当前JSP页面
和当前JSP页面共享同一个请求的页面,包括
<%@ include%>
指令以及<jsp:forward>
标记包含的其他JSP文件。当所有共享同一个客户请求的JSP页面执行完毕并向客户端发回响应时,JavaBean对象结束生命周期。
scope="session"
可用session.getAttribute()方法获得javabean对象。在当前会话session有效期间,该对象均有效。
JavaBean对象被创建后,它存在于整个Session的生命周期内,同一个session中的所有JSP文件共享这个JavaBean对象。
scope="application"
可用application.getAttribute()方法获得javabean对象。范围最广
在整个Web应用的生命周期内,Web应用中的JSP文件都能共享同一个JavaBean对象。
作用域范围从小到大依次为:page < request < session < application.