J2EE 4.JavaBean

Application对象

application由服务器负责创建,

每个Web服务目录下的application对象被访问该服务目录的所有的用户共享,

但不同Web服务目录下的application互不相同.

(1) public void setAttribute(String  key ,Object  obj)

application对象可以调用该方法将参数Object 指定的对象 obj添加到application对象中,并为添加的对象指定了一个索引关键字。

(2) public Object Attribute(String key)

获取application对象含有的关键字是key的对象。

Vector线程安全的list

application数据类型:ServletContext  application;

中文乱码问题:

<%! public String handleStr(String s) {

       trybyte [] bb= s.getBytes("iso-8859-1");

              s = new String(bb,"gb2312");

       }

       catch(Exception exp){}

       return s;

    }

%>

Synchronized线程同步,防止互相打扰

 

Option与text中的value值一样处理

 

JavaBean

1. 如果类的成员变量的名字是xxx,类中提供两个方法:

getXxx(),用来获取属性xxx。

setXxx(),用来修改属性xxx.。

后缀是将成员变量名字的首字母大写的字符序列。

  1.   对于boolean类型的成员变量,即布尔逻辑类型的属性,允许使用“is”代替上面的“get”和“set”。
  2.   类中声明的方法的访问属性都必须是public的。
  3.   类中需提供public、无参数的构造方法。

 

Src下建立包

 

使用bean

      使用JSP动作标记:useBean,来加载使用bean。useBean标记的语法格式:

<jsp:useBean id="bean的名字" class="创建beans的字节码" scope="bean有效范围"/>

<jsp:useBean id= "bean的名字" class="创建beans的类" scope= "bean有效范围">

</jsp:useBean>

例如:

<jsp:useBean id="circle" class="tom.jiafei.Circle" scope="page" />

 

根据JSP动作标记给出的bean的id,以及scope,查找JSP引擎内置pageContext对象中是否含有这样的bean

 

bean的有效范围(生命周期): scope取值page、request、session、application

bean.getXXX()等价于 jsp:get/setProperty name=”” value=

获取和修改beans的属性

getProperty、setProperty标记获取或修改属性xxx时,必须保证bean有相应的getXxx和setXxx方法

<jsp:getProperty  name="id" property="bean属性" />

<%= bean.getXxx() %>

<jsp:setProperty name=“id" property="bean的属性" value= "<%=expression%>"/>

通过HTTP表单的参数的值来设置bean的相应属性的值

用HTTP表单的所有参数的值设置bean相对应的属性的值:

<jsp:setProperty  name= "id"  property="*" />

用HTTP表单的某个参数的值设置bean的某个属性的值

<jsp:setProperty  name= “bean的名字”  property=“bean属性名”  param= “表单中的参数名” />

4.3 beans的辅助类

除了需要用import语句引入JDK平台提供的类,可能还需要其它自己编写的一些类。

将源文件编译后产生的全部字节码文件复制到相应的目录

实验

实验4_1 有效范围为request的bean

编写一个JSP页面inputAndShow.jsp和一个名字为car的Javabean,其中car由Car.class类负责创建。

  1. inputAndShow.jsp的具体要求

inputAndShow.jsp页面提供一个表单,其中表单允许用户输入汽车的牌号、名称和生产日期,该表单将用户输入的信息提交给当前页面,当前页面调用名字为car的bean,并使用表单提交的数据设置car的有关属性的值,然后显示car的各个属性的值。

  1. Car.java的具体要求

编写的Car.java应当有刻画汽车号码、名称和生产日期的属性,并提供相应的getXxx和setXxx方法来获取和修改这些属性的值。Car.java中使用package语句,包名是tom.jiafei。将Car.java编译后的字节码文件Car.class保存到Web服务目录的下列子目录中:

\WEB-INF\classes\tom\jiafei

Debug:

Get Set快捷键:alt + shift + s

存储Bean属性值,需要设置属性名,bean名<jsp:setProperty property="*" name="car"/>

输出:getProperty

<!-- inputAndShhow.jsp -->
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%-- <%@page import="tom.jiafei.Car" %> --%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'inputAndShow.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    This is my JSP page. <br>
    <jsp:useBean id="car" class="tom.jiafei.Car" scope="request"></jsp:useBean>
    <form action="" method="get">
    	车牌号<input type="text" name="number">
    	<br>
    	名称<input type="text" name="name">
    	<br>
    	生产日期<input type="text" name="madeDate">
    	<br>
    	<input type="submit" value="提交">
    </form>
    <jsp:setProperty property="*" name="car"/>
    
    <div>
	   	 车牌号<jsp:getProperty property="number" name="car"/>
	   	<br>
	   	名称<jsp:getProperty property="name" name="car"/>
	   	<br>
	   	生产日期<jsp:getProperty property="madeDate" name="car"/>
   	</div> 
  </body>
</html>
/*car.java*/
package tom.jiafei;

public class Car {
	String number;
	String name;
	String madeDate;
	public String getMadeDate() {
		return madeDate;
	}
	public void setMadeDate(String madeDate) {
		this.madeDate = madeDate;
	}
	public String getNumber() {
		return number;
	}
	public void setNumber(String number) {
		this.number = number;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

}

实验4_2 有效范围为session的bean

1.相关知识点

JSP页面使用useBean标记调用一个有效范围是session的bean:

<jsp:useBean id= "名字" class="创建bean的类" scope= "session"/>

 

本实验要求和实验4_1类似,但是与实验4_1不同的是,要求编写两个JSP页面input.jsp和show.jsp。

input.jsp的具体要求

input.jsp页面提供一个表单,其中表单允许用户输入汽车的牌号、名称和生产日期,该表单将用户输入的信息提交给当前页面,当前页面调用名字为car的bean,并使用表单提交的数据设置car的有关属性的值。要求在input.jsp提供一个超链接,以便用户单击这个超链接访问show.jsp页面。

show.jsp的具体要求

show.jsp调用名字为car的bean,并显示该bean的各个属性的值。

代码:

改变inputAndShow.jsp中scope

<jsp:useBean id="car" class="tom.jiafei.Car" scope="session"></jsp:useBean>

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
传智播客是国内知名的IT培训机构,拥有丰富的教学经验和强大的师资力量。其J2EE课程是针对Java企业级应用开发的培训课程,涵盖了J2EE的核心概念和技术。 传智播客的J2EE课程源码是指在课程教学过程中,讲师和学员们共同编写的实例代码和项目源代码。这些源码是用于展示J2EE的各种功能和应用的实际实现方法。 在J2EE课程的学习中,学员们将接触到大量的源码示例,通过认真学习和实践这些源码,可以更好地理解和掌握J2EE的知识点。 J2EE课程的源码主要包括以下内容: 1. 基础知识部分:包括Java Servlet、JavaServer Pages(JSP)、JavaBean等的源码示例,用于学习J2EE的基本原理和基础知识; 2. Web开发部分:包括使用JSP和Servlet实现的Web项目的源码示例,用于学习Web应用开发的流程和技巧; 3. 数据访问部分:包括使用JDBC、Hibernate等技术实现数据库操作的源码示例,用于学习数据库操作和持久化技术; 4. 分布式应用部分:包括使用Java RMI、Java Message Service(JMS)等技术实现分布式应用的源码示例,用于学习分布式系统和消息队列的原理和应用; 5. 安全与优化部分:包括使用Java安全技术和性能优化技术的源码示例,用于学习如何保障系统的安全性和提高应用的性能。 传智播客的J2EE课程源码通过实例讲解和实践演练,帮助学员理解和掌握J2EE的核心概念和技术,为日后的开发工作奠定坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值