Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7093770
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: Web开发

2014-03-11 15:24:28

原文地址:Tomcat初探之JSP+Bean 作者:scq2099yt

        一个简单的三层架构包括:数据层、业务层、表现层,数据层一般可以用DataBase或者NoSQL之类的,业务层就可以用Bean来包装数据访问逻辑,表现层可以用JSP来调用Bean的属性接口来设置或者获取数据以拼接展示页面。这样也就达到了页面代码与Java逻辑代码分离的效果,即前端和后端码农各司其职。
        这里依然以之前的Nginx+Tomcat环境来演示例子,所以后文提到的路径会与此相关,环境配置请参见这里
一、Bean
        一个标准的javaBean包含如下几个特性:
        (1)javaBean是一个公共的类,所以必须是public class。
        (2)javaBean有具有一个不带参数的构造函数,所以要么使用默认构造函数,要么定义一个一个不带参数的构造函数。
        (3)javaBean通过setXXX方法设置属性,通过getXXX方法获取属性。
        简单javaBean例子SimpleBean.java如下:
        package test.hello.world;
        public class SimpleBean
        {
            private String msg = "sorry";
            public String getMsg()    
            {
                return (msg);
            }
            public void setMsg(String msg)
            {
                this.msg = msg;
            }
        }

二、JSP
        JSP访问javaBean主要包括如下几个步骤:
        (1)导入javaBean类。
        (2)声明javaBean对象。
        (3)访问javaBean属性。
        简单JSP例子TestSimpleBean.jsp如下:
        <%@ page import="test.hello.world.SimpleBean" pageEncoding="UTF-8"%>
        
        
            
                Hello JSP+Bean
            
            
                
                property="msg" value="hello"/>
                property="msg"/>

            
        

三、编译
        javaBean代码编写完成后,需要编译成.classs文件才能被JSP使用。
        关于编译有几个需要注意的是地方,否则会出各种错误。
        (1)包问题
        javaBean中的代码必须放在包中,即package test.hello.world;,否则,会出如下错误:
        Unable to compile class for JSP
        xxx cannot be resolved to a type
        (2).class文件路径
        必须在TOMCAT_HOME目录即/home/www/web/ROOT目录下新建文件夹WEB-INF,再在此文件夹下创建classes文件夹,编译出的javaBean的.class文件必须放在此目录下,因为必须有包,所以最终会放在含有包的路径下,即/home/www/web/ROOT/WEB-INF/classes/test/hello/world/,编译指令如下:
       #javac -d 
/home/www/web/ROOT/WEB-INF/classes SimpleBean.java
        (2)jar包
        必须将import的jar包放到WEB-INFO/lib下,否则,会有各种NoClassDefFoundError错误,出现这个错误时可以通过下面指令查看jar包是否正确加载了:
        #java -verbose MyApp
        (3)重启Tomcat
        如果出现如下错误,请重启Tomcat

                (A)The value for the useBean class attribute xxx is invalid
                (B)Cannot find any information on property 'xxx' in a bean of type 'xxx'
        此时,在浏览器中输入或者:8080/TestSimpleBean.jsp回车就能看到hello了,更多信息请参见这里


阅读(306) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~