JavaBean出现的目的
一、JavaBean出现的目的
由于只用JSP开发会发现使用了很多的Scriptlet,会使得jsp文件非常混乱。如果使用了JavaBean,则可以大大减少JSP中代码量。
JSP的理想状态是只负责显示,而不负责处理。
二、JavaBean介绍
JavaBean说的通俗点就是一个Java类用于JSP中。通过<jsp:useBean>或者import导入。
JavaBean导入的类的约定:
(1)类必须是public的;
(2)必须有无参构造;
(3)属性必须是private的;
三、JavaBean存放位置
在tomcat中的理想目录结构如下:

JavaBean存放在WEB-INF/classes内。
注意:
(1)每次修改classes文件或web.xml后必须要重启服务器。
如果觉得很麻烦,则在开发过程中可以通过在Server.xml中设置虚拟目录的位置添加:
<Context path="..." docBase="..." reloadable="true"/>,这样就会变成自动导入模式,不必重启服务器。
但是有一个缺点,就是服务器必须时刻监视,会降低性能。
(2)在classes中放入的是class文件。
(3)类必须要有所在的包。
四、<jsp:useBean>用法:
一般的形式:<jsp:useBean id="实例化名称" scope="page" class="完整类名称"/>
id中是实例化对象;
scope中可以是
(1)page:在一页中保存
(2)request:服务器端跳转仍保存;
(3)session:跳转仍保存;
(4)application:服务器没有关闭仍保存;
class为实例化对象的类的完整名称;
使用<jsp:useBean>的好处是自动帮助你创建一个名为id的值的对象。
注意:JavaBean中一定要有无参构造函数。
五、<jsp:setProperty>用法:
一般形式有四种:
(1)<jsp:setProperty name="实例化名称" property="*"/>:自动调用set方法;
(2)<jsp:setProperty name="实例化名称" property="name1"/>:对于name1属性自动调用set方法;
(3)<jsp:setProperty name="实例化名称" property="name1" value="value1"/>:对于name1属性赋予value1值;
(4)<jsp:setProperty name="实例化名称" property="name1" param="param1"/>:把param1的值赋给name1属性;
但是一般使用第一种方法最多。
六、<jsp:getProperty>用法
一般形式:<jsp:getProperty name="c1" propety="name1"/>自动调用c1对象的getName1()方法,并返回;
其实效果和getter方法是一样的;
七、JavaBean删除
通过pageConext.removeAttribute("JavaBean名称");删除scope为page的JavaBean对象。依次类推。
JavaBean出现的目的的更多相关文章
- MapReduce框架原理-Writable序列化
序列化和反序列化 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输. 反序列化就是将收到字节序列(或其他数据传输协议)或者是硬盘的持久化数据,转换成内存中的 ...
- jsp+tomcat+mysql+sevlet+javabean配置过程
在配置jsp开发环境的过程中会碰到不少问题,感谢网上的许多前辈的经验总结,作者cl41的JSP连接Mysql数据库攻略和作者Saulzy的MySQL学习笔记等文章对我来说简直是雪中送碳,为了帮助象我一 ...
- web初学之JavaBean
JavaBean 1.javaBean类:特殊的java类,以封装和重用为目的.通常JavaBean与Jsp搭配使用构成JavaBean技术. (1)JavaBean的规范: ●JavaBean是个公 ...
- 使用beanUtils操纵javabean
Sun公司的内省API过于繁琐,所以Apache组织结合很多实际开发中的应用场景开发了一套简单.易用的API操作Bean的属性——BeanUtils,在Beanutil中可以直接进行类型的自动转换. ...
- 12、Jsp加强/自定义标签/JavaBean
1 Jsp加强回顾 Jsp加强 1)Jsp的9大内置对象 request HttpServletRequet response HttpServletResponse config ...
- JSP+Servlet+JavaBean
MVC是三个单词的缩写:M,Model(模型):V,View( 视图 ),C,Control(控制). MVC模式的目的就是实现Web系统的职能分工, Model层:实现系统的业务逻辑,即javaBe ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- 浅谈JavaBean,Entity Bean,Enterprise Bean等Bean以及POJO的含义
一.对于java bean,就是一个java模型组件,他为使用java类提供了一种标准的格式,在用户程序和可视化管理工具中可以自动获得这种具有标准格式的类的信息,并能够创建和管理这些类. jav ...
- 内省与JavaBean
概述 JavaBean代表一类特殊的Java类,这种类主要用来存储和传递属性信息,JavaBean中的方法主要用于设置和获取这些私有属性,他们有一定的命名规则,我们可以把它们想象为一个侧重属性信息的类 ...
随机推荐
- 用cmd重命名.htaccess
本人上天修改PHP下伪静态文件htaccess.txt,需要改为.htaccess要是在Linux倒是很随意的事情,可惜window不给改,真的不可改吗,其实方法还是很多的,比如复制在记事本另存也可以 ...
- js调用浏览器打印
<input type="button" id="print" onclick="printdiv('list');" value=& ...
- HTTPS基本原理
HTTPS基本原理 Xcode7上,默认采用的传输协议就是HTTPS,大家都知道HTTPS = HTTP + SSL,利用HTTPS协议传输的数据是加密的,更加安全.在此对概念性知识不再介绍.直接介绍 ...
- 【LintCode】链表求和
问题分析: 我们通过遍历两个链表拿到每个位的值,两个值加上前一位进位值(0或者1)模10就是该位的值,除以10就是向高位的进位值(0或者1). 由于两个链表可以不一样长,所以要及时判断,一旦为null ...
- 63.Android面试题精选 (转)
1.Android dvm 的进程和Linux的进程,应用程序的进程是否为同一个概念: 答:dvm是dalivk虚拟机.每一个android应用程序都在自己的进程中运行,都拥有一个dalivk虚拟机实 ...
- 【caffe】三种文件类别:solver,model和weights
@tags: caffe 文件类别 solver文件 是一堆超参数,比如迭代次数,是否用GPU,多少次迭代暂存一次训练所得参数,动量项,权重衰减(即正则化参数),基本的learning rate,多少 ...
- BZOJ 1034 泡泡堂BNB 贪心+简单博弈
同样是今天做bzoj时做到的,感觉能力范围之内的就做了,也是蛮简单的 1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec Memory Limit: 162 MB Su ...
- 【codevs1227】 方格取数 2
http://codevs.cn/problem/1227/ (题目链接) 题意 N*N的方格,每个格子中有一个数,寻找从(1,1)走到(N,N)的K条路径,使得取到的数的和最大. Solution ...
- Process Kill Technology && Process Protection Against In Linux
目录 . 引言 . Kill Process By Kill Command && SIGNAL . Kill Process By Resource Limits . Kill Pr ...
- roundup配置
原因:我需要一个简单的issue tracker why roundup: python,简单 找了半天的文档,找不到文档,只能自己慢慢试,试到现在,可以打开tracker页面,用户注册的时候可以发邮 ...