Eclipse下配置spring应用

来源:互联网 发布:java gui 程序设计pdf 编辑:程序博客网 时间:2024/04/29 04:08

一.关于Spring的环境配置问题。

需要的包(除了基本java  web开发环境(如jdk,tomcat )之外的):spring-framework,jakarta-struts(后面有关于spring与struts结合的部分要用到).

二.关于Spring的基本配置文件

在建立单纯的spring项目时,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>spring</servlet-name>
              <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
              <init-param>
                     <param-name>contextConfigLocation</param-name>
                     <param-value>/WEB-INF/application.xml</param-value>
              </init-param>
              <load-on-startup>1</load-on-startup>
       </servlet>
       <servlet-mapping>
              <servlet-name>spring</servlet-name>
              <url-pattern>*.do</url-pattern>
       </servlet-mapping>
</web-app>
上面加框的一段是用来指定spring配置文件的(可以为任意名,如上),也可以不写,不写时spring的配置文件默认名为:   “<servlet-name>”名-servlet.xml。(如此处的<servlet-name>的值为 “spring”,则配置文件名为:springt-servlet.xml)

这时候spring配置文件(这里假定为spring-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="LoginAction" class="com.ln.spring.LoginAction">
              <property name="msg">
                     <value>Hello World</value>
              </property>
              <property name="data">
                     <ref bean="data1" />
              </property>
       </bean>
       <bean id="data1" class="com.ln.spring.MyAction">
              <property name="message">
                     <value>liang</value>
              </property>
       </bean>
       <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
              <property name="mappings">
                     <props>
                            <prop key="/login.do">LoginAction</prop>
                     </props>
              </property>
       </bean>
</beans>
在bean中配置有属性(包括bean格式的属性)时,bean对应的java文件内必须要定义一个与property的name名字一样的属性值,并且需要有这个属性值的getter和setter方法。
当一个bean中有格式为bean的属性时,用“<ref bean="bean-name" />”来指定,在指定”bean-name”后还要在下面用”<bean></bean>”来指定这个bean格式的属性的值,此时”<bean></bean>”中的”id”必须与前面指定的”bean-name”一致。

而在建立spring+struts项目时,web.xml文件按照struts项目的规格建立,在此不在多说,而在此时struts-config.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
       <form-beans>
            <form-bean name="loginForm" type="com.ln.struts.LoginForm" />
       </form-beans>
       <action-mappings>
              <action path="/login" type="org.springframework.web.struts.DelegatingActionProxy" name="loginForm">
                     <forward name="success" path="/main.jsp" />
                     <forward name="failure" path="/loginfail.jsp" />
              </action>
       </action-mappings>
       <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
              <set-property property="contextConfigLocation" value="/WEB-INF/spring-servlet.xml" />
       </plug-in>
</struts-config>

在这个配置文件中,由于使用spring来管理struts的action所以有两个地方要注意:
1.  Action的”type”指向spring里定义的用来处理action的类,而不是自己写的action.
2.增加了一个”<plug-in></plug-in>“来指定spring配置文件。
此时spring-servlet.xml配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
       <bean name="/login" class="com.ln.struts.LoginAction" singleton="false">
              <property name="msg">
                     <value>Hello World</value>
              </property>
       </bean>
</beans>
此处的bean与struts-config.xml中的action相对应,name与struts-config.xml中action的path一致
 

三.应该注意的小问题:

1.  要把开发中所需要用到的包,tld文件相应地放在WEB-INF里的lib,tlds文件夹中。

2.  在需要使用到struts,spring,jstl等的标签时,一定要在web.xml中

用下面

<taglib>
    <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>

这样的标签先进行声明 

原创粉丝点击