ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Java WEB开发实战 之 第五部分:JavaBean基本知识和开发【私塾在线原创】

Java WEB开发实战 之 第五部分:JavaBean基本知识和开发【私塾在线原创】

原创 Linux操作系统 作者:啸傲1 时间:2012-02-29 14:59:30 0 删除 编辑
JavaBean是一种Java组件技术,就其本质就是一个类,具有如下特点:
1:实现可序列化
2:有一个public的无参的构造方法
3:所有实例变量都是private的
4:为每一个属性提供getter和setter方法,如果属性为boolean类型,那么get变换成is,如:getNew() 变成 isNew()
5:建议覆盖实现hashCode、equals、toString方法
 
JavaBean组件在Web开发上的标准用途,主要就是封装数据,并维护这些数据
但在实际的开发中,通常把JavaBean组件做为一个封装数据的组件,而把维护数据的工作后移,放到逻辑层和数据层去
JavaBean组件不是EJB组件,他们没有任何的关系。EJB(Enterprise JavaBean)是用来支持处理复杂企业应用的一种组件技术
什么是Jsp标准动作:
由Jsp规范规定的,使用xml语法来描述的,在Jsp运行时实现一定的功能。
基本语法如下:
       *表示多个
标准动作标记名总以jsp前缀开始
标准动作的作用:减少JSP页面中的脚本元素
JSP标准动作很多,这里只学习最常用的几个:
:定义和访问JavaBean组件
:设置JavaBean组件属性的值
:获取JavaBean组件属性的值
:在jsp页面进行页面跳转
:引入其他页面,进行页面重用
:动态的设定参数
使用创建JavaBean组件,示例如下:
使用初始化JavaBean组件,示例如下:
property=“*”表示初始化所有Bean的属性
说明:JavaBean是使用反射技术来把html里面的值取出来,动态设置到类实例里面,所以这就要求:form里面的html组件的name值必须和JavaBean组件里面的属性的名称一致。
使用检索JavaBean组件的属性,示例如下:
 
怎么理解上面写的标准动作呢?方法还是要翻译成为Servlet类,写出对应的Java代码来,就什么都明白了
avaBean组件有四种存在范围:
u应用程序范围(Application):存储在ServletContext对象中
u会话范围(Session):在会话中创建并被存储在HttpSession对象中
u请求范围(Request):在请求中创建并被存储在ServletRequest对象中
u页面范围(Page):在页面中创建并被存储在PageContext对象中
 
中使用scope,默认是page,示例如下:
scope=“request”/>
 
加上scope后,应该翻译成什么样的代码呢?
动作处理过程大致如下:
jsp:useBean  à
使用id声明变量 à
试图在指定的范围内查找对象 à
 
à [没找到] à
   创建一个类的实例 à
   执行useBean标记体初始化对象
à [找到] à
   将对象转换为类指定的类型
 
使用,获取Bean属性的值,并以字符串的形式输出
Model1架构(Jsp + JavaBean),基本特点如下:
uModel1架构使用JSP页面处理Web应用的视图和控制部分
u该架构中不使用Servlet
uJSP页面充当form和处理者
nModel2架构(Jsp + Servlet + JavaBean),基本特点如下:
uModel2架构使用MVC模式
uJSP页面充当视图
uServlet充当控制器
nModel 2架构开发要求:
uServlet控制器:
验证HTML form数据、调用模型中的业务服务、存储请求(或会话)范围内的域对象、选择下一个视图
uJSP页面视图:
展示用户界面、访问域对象
使用脚本代码处理请求时,可用jsp:forward 动作跳转到下一个视图
动作相当于RequestDispatcher的forward
示例如下:

java代码:
<%
if ( request.getMethod().equals(“POST”) ) {
         guestBookSvc.processRequest();
    if ( guestBookSvc.wasSuccessful() ) {
%>
         
<%  } else {  %>
         
<%  }  %>
常见的Web应用,通常包含如下部分:
1:Header 区  :  logo   系统名称  一级菜单等等
2:菜单区:菜单条
3:导航区/分类区:树状
4:内容区:主要展示和处理业务功能的地方
5:Footer区:版权声明、联系我们等等
 
很明显,几乎每个页面都需要Logo、菜单、Copyright等等,不应该每个页面都写,而是写一个公共的,然后在页面引入进来
在Java的Web开发里面,通常使用Table进行构造布局,如下示例:

java代码:

<!-- nothing here -->
在实际开发中,美工同志更喜欢使用css+div来进行页面的布局和风格控制
在Jsp页面里面引入其它页面有两种方法,如下:
1:include指令
功能:将一个代码片段在转换期间包含在主JSP页面的文本中
语法: <%@ include file=” fragmentURL” %>
示例:<%@ include file=“/javassweb/common/jsp/header.jsp”%>
2:jsp:include标准动作
功能:在运行时将一个代码片段包含到HTTP响应文本中
语法:
示例:
include指令:静态引入。在翻译期间,直接将被引入页面copy到相应的位置,相当于是同一个界面,所以可以共享变量
jsp:include标准动作:动态引入。在运行期间动态引入被引入页面所生成的HTML,完全是独立的页面运行,所以不能共享变量
标准动作
功能:为其它动作标签提供附加的参数信息
语法:
示例:
 
与其他标准动作组合使用示例:

java代码:

 
 
 
在banner.jsp里面,就可以接收到subTitle的参数的值,如下:
String subTitle = request.getParameter("subTitle");
 
视频配套PPT,视频地址【  Java WEB开发实战视频课程 】

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26715443/viewspace-717368/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-29

  • 博文量
    11
  • 访问量
    4539