Eclipse下spring配置的應(yīng)用
一.關(guān)于Spring的環(huán)境配置問題
需要的包(除了基本java web開發(fā)環(huán)境(如jdk,tomcat )之外的):spring-framework,jakarta-struts(后面有關(guān)于spring與struts結(jié)合的部分要用到).
二.關(guān)于Spring配置文件
我個(gè)人感覺,學(xué)習(xí)開發(fā)框架時(shí),在明白了它的設(shè)計(jì)思想之后,配置文件設(shè)置是一個(gè)關(guān)鍵,等成功搭建起這個(gè)框架之后,在里面編程相信都難不到大家的
在建立單純的spring項(xiàng)目時(shí),web.xml文件如下:
- xml version="1.0" encoding="UTF-8"?>
- >
- <web-app>
- <servlet>
- <servlet-name>spring< SPAN>servlet-name>
- <servlet-class> org.springframework.web.servlet.DispatcherServlet
- < SPAN>servlet-class>
- <init-param>
- <param-name>contextConfigLocation< SPAN>param-name>
- <param-value>/WEB-INF/application.xml< SPAN>param-value>
- < SPAN>init-param>
- <load-on-startup>1< SPAN>load-on-startup>
- < SPAN>servlet>
- <servlet-mapping>
- <servlet-name>spring< SPAN>servlet-name>
- <url-pattern>*.do< SPAN>url-pattern>
- < SPAN>servlet-mapping>
- < SPAN>web-app>
這時(shí)候spring配置文件(這里假定為spring-servlet.xml)如下:
- xml version="1.0" encoding="UTF-8"?>
- >
- <beans>
- <bean id="LoginAction" class="com.ln.spring.LoginAction">
- <property name="msg">
- <value>Hello World< SPAN>value>
- < SPAN>property>
- <property name="data">
- <ref bean="data1" />
- < SPAN>property>
- < SPAN>bean>
- <bean id="data1" class="com.ln.spring.MyAction">
- <property name="message">
- <value>liang< SPAN>value>
- < SPAN>property>
- < SPAN>bean>
- <bean id="urlMapping" class="org.springframework. web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="mappings">
- <props>
- <prop key="/login.do">LoginAction< SPAN>prop>
- < SPAN>props>
- < SPAN>property>
- < SPAN>bean>
- < SPAN>beans>
而在建立spring+struts項(xiàng)目時(shí),web.xml文件按照struts項(xiàng)目的規(guī)格建立,在此不在多說,而在此時(shí)struts-config.xml如下:
- xml version="1.0" encoding="UTF-8"?>
-
- 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" />
- < SPAN>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" />
- < SPAN>action>
- < SPAN>action-mappings>
- <plug-in
- className="org.springframework.web.
- struts.ContextLoaderPlugIn">
- <set-property property="
- contextConfigLocation"
- value="/WEB-INF/
- spring-servlet.xml" />
- < SPAN>plug-in>
- < SPAN>struts-config>
在這個(gè)配置文件中,由于使用spring來管理struts的action所以有兩個(gè)地方要注意:
1.Action的”type”指向spring里定義的用來處理action的類,而不是自己寫的action.
2.增加了一個(gè)”
此時(shí)spring-servlet.xml配置文件如下:
- xml version="1.0" encoding="UTF-8"?>
-
- "http://www.springframework.org/dtd/spring-beans.dtd">
- <beans>
- <bean name="/login" class="com.ln.struts.LoginAction"
- singleton="false">
- 此處的bean與struts-config.xml中的action相對(duì)應(yīng),name與struts- config.xml中action的path一致
- <property name="msg">
- <value>Hello World< SPAN>value>
- < SPAN>property>
- < SPAN>bean>
- < SPAN>beans>
三.應(yīng)該注意的小問題
1.要把開發(fā)中所需要用到的包,tld文件相應(yīng)地放在WEB-INF里的lib,tlds文件夾中。
2.在需要使用到struts,spring,jstl等的標(biāo)簽時(shí),一定要在web.xml中
用下面
- <taglib>
- <taglib-uri>http://java.sun.com/jstl/core< SPAN>taglib-uri>
- <taglib-location>/WEB-INF/c.tld< SPAN>taglib-location>
- < SPAN>taglib>
這樣的標(biāo)簽先進(jìn)行聲明。
【編輯推薦】