Eclipse下配置spring應用

                   Eclipse下配置spring應用<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

一.        關於Spring的環境配置問題。

需要的包(除了基本java  web開發環境(如jdk,tomcat )之外的):spring-frameworkjakarta-struts(後面有關於springstruts結合的部分要用到).

二.        關於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>

       上面加框的一段是用來指定spring配置文件的(可以爲任意名,如上),也可以不寫,不寫時spring的配置文件默認名爲:   <servlet-name>-servlet.xml。(如此處的<servlet-name>的值爲spring,則配置文件名爲:springt-servlet.xml

<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.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">

bean中配置有屬性(包括bean格式的屬性)時,bean對應的java文件內必須要定義一個與propertyname名字一樣的屬性值,並且需要有這個屬性值的gettersetter方法。

              <property name="msg">                    

<value>Hello World</value>

              </property>

              <property name="data">

                     <ref bean="data1" />

當一個bean中有格式爲bean的屬性時,用“<ref bean="bean-name" />”來指定,在指定”bean-name”後還要在下面用<bean></bean>來指定這個bean格式的屬性的值,此時<bean></bean>中的”id”必須與前面指定的”bean-name”一致。

              </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>

 

而在建立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來管理strutsaction所以有兩個地方要注意:

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">

此處的beanstruts-config.xml中的action相對應,namestruts-config.xmlactionpath一致

              <property name="msg">

                     <value>Hello World</value>

              </property>

       </bean>

</beans>

 

三.        應該注意的小問題:

1.  要把開發中所需要用到的包,tld文件相應地放在WEB-INF裏的libtlds文件夾中。

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>

這樣的標籤先進行聲明。

發佈了21 篇原創文章 · 獲贊 0 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章