【无标题】

一个JavaBean中至少存在一个无参构造方法,此为JSP中的标签所使用。

第一个简单JavaBean

package blog.csdn.joywy;
public class SimpleBean{
private String name;
private int age;
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
}

如果在一个类中只包含属性、setter、getter方法,那么这种类就成为简单JavaBean。

对于简单的JavaBean也有几个名词:

(1)VO:与简单Java对象对应,专门用于传递值的操作上

(2)POJO:简单Java对象

(3)TO:传输对象,进行远程传输时,对象所在的类必须实现java.io.Serializable接口

JavaBean是Java开发语言中一个可以重复使用的软件组件,它本质上就是一个 Java类。为了规范JavaBean的开发,Sun 公司发布了JavaBean的规范,它要求一一个标准的JavaBean组件需要遵循一定的编码规范,具体如下。
(1)它必须具有一 个公共的、无参的构造方法,这个方法可以是编译器自动产生的默认构造方法。(2)它提供公共的setter方法和getter方法,让外部程序设置和获取JavaBean的属性。为了让读者对JavaBean有一个直观上的认识,接下来编写一个简单的JavaBean。首先在Eclipse中创建一个名为chapter09 的Web项目,然后在项目的src目录下创建名为cn.itcast.chapter09 javabean的包,再在该包下创建Book类,代码如文件7-1所示。
book.java

在文件7-1中,定义了一个Book类,该类就是一个JavaBean,它没有定义构造方法,Java编译器在编译时,会自动为这个类提供一个默认的构造方法。 Book 类中定义了一个price属性,并提供了公共的setPrice()和getPrice()方 法供外界访问这个属性。
JavaBean的编码规范:
1.必须具有一个公共的无参的构造方法,这个方法可以是编译器自动产生的默认构造方法
2.提供公共的setter方法和getter方法,让外部程序设置和获取javaBean的属性
举个例子:
Book

package cn.itcast.chapter07.javabean;

public class Book {
private double price;
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price=price;
}
}

JavaBean中的属性与成员变量不是同一个概念,通常以方法定义的形式出现
举个例子:
getName()、setName()

package cn.itcast.chapter07.javabean;

public class Student {
private String sid;
private String name;
private int age;
private boolean married;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age=age;
}
public boolean isMarried() {
return married;
}
public void setMarried(boolean married) {
this.married=married;
}
public String getSid() {
return sid;
}
public void setName(String name) {
this.name=name;
}
public void getInfo() {
System.out.print(“瞅啥瞅!”);
}
}

BeanUtils工具:http://commons.apache.org/proper/commons-beanutils
请自行下载
运用例子:

package cn.itcast.chapter07.beanutils;

public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name=name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age=age;
}
}

package cn.itcast.chapter07.beanutils;

import java.util.HashMap;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;

public class BeanUtilsDemo {
public static void main(String[] args) throws Exception{
Person p=new Person();
BeanUtils.setProperty(p, “name”, “Jack”);
BeanUtils.setProperty(p,“age”,10);
String name=BeanUtils.getProperty(p,“name”);
String age=BeanUtils.getProperty(p,“age”);
System.out.println(“我的名字叫” + name + “我今年” + age + “岁了!”);
Map<String, Object>map=new HashMap<String, Object>();
map.put(“name”,“张三”);
map.put(“age”, 10);
BeanUtils.populate(p, map);
System.out.println(“姓名:” + p.getName() + “,年龄” + p.getAge());
}
}

EL表达式语法:
${表达式}
举个例子:

package cn.itcast.chapter07.servlet;

import java.io.;
import javax.servlet.;
import javax.servlet.http.*;

public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
request.setAttribute(“username”, “itcast”);
request.setAttribute(“password”, “123”);
RequestDispatcher dispatcher = request.getRequestDispatcher("/myjsp.jsp");
dispatcher.forward(request, response);
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}

}

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

用户名:<%=request.getAttribute(“username”) %>
密码: <%=request.getAttribute(“password”) %>
使用EL表达式:
用户名: ${username}
密码: ${password}
EL隐式对象

pageContext对象

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

请求URI为: ${pageContext.request.requestURI}
Content-Type响应头: ${pageContext.response.contentType}
服务器信息为: ${pageContext.servletContext.serverInfo}
Servlet注册名为: ${pageContext.servletConfig.servletName}
scopes对象

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

<% pageContext.setAttribute(“userName”, “itcast”); %> <% request.setAttribute(“bookName”,“Java Web”); %> <% session.setAttribute(“userName”, “itheima”); %> <% application.setAttribute(“bookName”,“Java 基础”); %> 表达式${pageScope.userName}的值为:${pageScope.userName}
表达式${requestScope.bookName}的值为:${requestScope.bookName}
表达式${sessionScope.userName}的值为:${sessionScope.userName}
表达式${applicationScope.bookName}的值为:${applicationScope.bookName}
表达式${userName}的值为:${userName}
param对象

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

num1:
num2:
num3:

num1: p a r a m . n u m 1 n u m 2 : {param.num1} num2: param.num1num2:{paramValues.num[0]}
num3:${paramValues.num[1]}
Cookie对象

<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>

Cookie对象的信息:
${cookie.userName }
Cookie对象的名称和值:
c o o k i e . u s e r N a m e . n a m e = {cookie.userName.name }= cookie.userName.name={cookie.userName.value } <% response.addCookie(new Cookie(“userName”,“itcast”)); %>
————————————————

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值