服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用jbuilder2005开发spring mvc应用

jbuilder2005开发spring mvc应用

 

高科华

 

 

作者简介:高科华,南京航空学院计算数学专业硕士,有十年以上的企业信息化工作经验。目前的研究兴趣:j2ee企业应用、erp软件研发、数据仓库系统研发。
作者声明:本文没有最后定稿。

1.        下载spring包,网址如下

http://www.springframework.org/download.html

解压后的目录中包含了distlib等子目录

 

2.        jbuilder2005中增加spring库,选择菜单tools-configure-libraries,在弹出的对话框中点击new按钮,输入spring库的名称:spring,点击add按钮,将dist目录中的所有jar文件增加到spring库中

 

3.        新建工程文件,选菜单file-new project,给工程文件取名为myproject

设置工程文件的属性,选菜单project-project properties,选择tomcat作为服务器,将spring库加入path/required libraries。因为例子中用到了log4j,将包含了log4j的库加入path/required libraries,注意到lib目录下有两个子目录log4jjakarta-commons,它们的用法是不同的,如下面的代码片断所示:

log4j

import org.apache.log4j.level;

import org.apache.log4j.logger;

public class springappcontroller implements controller {

 

    /** logger for this class and subclasses */

    static logger logger = logger.getlogger(springappcontroller.class);

 

 

jakarta-commons

import org.apache.commons.logging.log;

import org.apache.commons.logging.logfactory;

 

public class springappcontroller implements controller {

 

    /** logger for this class and subclasses */

    protected final log logger = logfactory.getlog(getclass());

 

 

 

 

 

4.        新建web模块,选菜单file-new,给web模块取名为springapp

5.        新建hello.jsp文件如下:

<%@ page contenttype="text/html; charset=big5" %>

<html>

<head><title>example :: spring application</title></head>

<body>

<h1>hello - spring application</h1>

<p>greetings.</p>

</body>

</html>

 

6.        新建类文件springappcontroller.java如下:

package spring;

 

import org.springframework.web.servlet.mvc.controller;

import org.springframework.web.servlet.modelandview;

 

import javax.servlet.servletexception;

import javax.servlet.http.httpservletrequest;

import javax.servlet.http.httpservletresponse;

 

import java.io.ioexception;

 

//import org.apache.commons.logging.log;

//import org.apache.commons.logging.logfactory;

import org.apache.log4j.level;

import org.apache.log4j.logger;

 

public class springappcontroller implements controller {

 

    /** logger for this class and subclasses */

//    protected final log logger = logfactory.getlog(getclass());

    static logger logger = logger.getlogger(springappcontroller.class);

 

    public modelandview handlerequest(httpservletrequest request, httpservletresponse response)

            throws servletexception, ioexception {

 

        logger.info("springappcontroller - returning hello view");

 

        return new modelandview("hello.jsp");

    }

}

 

 

7.        修改web.xml文件

<?xml version="1.0" encoding="utf-8"?>
<!doctype web-app public '-//sun microsystems, inc.//dtd web application 2.3//en' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
 
<web-app>
 
  <servlet>
    <servlet-name>springapp</servlet-name>
    <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>springapp</servlet-name>
    <url-pattern>*.htm</url-pattern>
  </servlet-mapping>
 
  <welcome-file-list>
    <welcome-file>
      index.jsp
    </welcome-file>
  </welcome-file-list>
 
</web-app>

 

 

8.        web-inf目录中新建springapp-servlet.xml文件如下

 

<?xml version="1.0" encoding="utf-8"?>

<!doctype beans public "-//spring//dtd bean//en" "http://www.springframework.org/dtd/spring-beans.dtd">

 

<!--

  - application context definition for "springapp" dispatcherservlet.

  -->

 

<beans>

    <bean id="springappcontroller" class="spring.springappcontroller"/>

 

    <bean id="urlmapping" class="org.springframework.web.servlet.handler.simpleurlhandlermapping">

        <property name="mappings">

            <props>

                <prop key="/hello.htm">springappcontroller</prop>

            </props>

        </property>

    </bean>

</beans>

 

 

 

9.        web-inf目录中新建log4j.properties文件如下:

 

log4j.rootcategory=info, stdout, logfile

 

log4j.appender.stdout=org.apache.log4j.consoleappender

log4j.appender.stdout.layout=org.apache.log4j.patternlayout

log4j.appender.stdout.layout.conversionpattern=%d %p [%c] - <%m>%n

 

log4j.appender.logfile=org.apache.log4j.rollingfileappender

log4j.appender.logfile.file=springapp.log

log4j.appender.logfile.maxfilesize=512kb

# keep three backup files

log4j.appender.logfile.maxbackupindex=3

log4j.appender.logfile.layout=org.apache.log4j.patternlayout

#pattern to output : date priority [category] - <message>line_separator

log4j.appender.logfile.layout.conversionpattern=%d %p [%c] - <%m>%n

 

 

10.    设置web模块springapp的属性content,加入文件log4j.properties,因为classes目录是自动产生的,这一步是为了把文件log4j.properties加到classes目录。

11.    设置run configuration,选菜单run-configurations,新建一个run configurationtypeserverlaunch uri设置为:/springapp/hello.htm,给它取名为hello

12.    运行,你会在messages窗口中看到如下信息:

?y??: server startup in 9253 ms

2004-11-05 15:05:00,585 info [spring.springappcontroller] - <springappcontroller - returning hello view>

2004/11/5 下午 03:05:00 org.springframework.web.servlet.view.abstractcachingviewresolver resolveviewname

?y??: cached view 'hello.jsp'

 

myproject/tomcat/springapp.log文件中增加了一行如下所示:

2004-11-05 15:11:32,348 info [spring.springappcontroller] - <springappcontroller - returning hello view>

 

 

这说明你已成功建立了基本的spring应用。

 

 

 

13.    增加对jstl的支持,设置工程文件的属性,选菜单project-project properties,将jstl库加入path/required libraries

14.    改进前面的例子,改进的文件如下:

增加“header”文件include.jsp,这是一些jsp文件的公用部分,这样可以使得开发和维护更容易。所有jsp文件放在web-inf/jsp目录下,为的是只有controller可以访问view

springapp/war/web-inf/jsp/include.jsp

<%@ page session="false"%>
 
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>        

 

利用jstl<c:redirect>将页面重定向到controller,这样就建立了index.jsp和应用架构的联系。

springapp/war/index.jsp

<%@ include file="/web-inf/jsp/include.jsp" %>
 
<%-- redirected because we can't set the welcome page to a virtual url. --%>
<c:redirect url="/hello.htm"/>

 

利用jstl<c:out>标记,把从model提取的,传递给view的当前日期和时间作为输出。

springapp/war/web-inf/jsp/hello.jsp

<%@ include file="/w