스프링 프레임 워크의 7 가지 주요 모듈에 대한 간단한 소개
봄의 MVC 모듈 코드에 대한 자세한 설명
Spring의 웹 모듈은 Struts1, Struts2, JSF 등과 같은 웹 프레임 워크를 통합하는 데 사용됩니다.
Struts1을 통합합니다
상속 방법
Spring Framework는 Struts1의 동작을 지원하기 위해 ActionSupport 클래스를 제공합니다. ActionSupport를 상속 한 후 Spring 's Beanfactory를 얻어 다양한 스프링 컨테이너에서 다양한 자원을 얻을 수 있습니다.
org.springframework.web.struts.AccionSupport; 공개 클래스 Cataction은 ActionSupport {public icatservice getCarservice () {return (icatservice) getWebApplicationContext (). getBean ( "catservice"); } public actionforward execute (ActionMappingMapping, ActionForm Form, httpservletRequest 요청, httpservletResponsEsponse) {catform catform = (catform) 양식; if ( "list".equals (catform.getaction ())) {returnthis.list (매핑, 양식, 요청, 응답); }} public actionforward 목록 (ActionMappingMapping, ActionForm 양식, httpservletRequest 요청, httpservletResponsEsponse) {catform catform = (catform) 양식; icatservice catservice = getCatservice (); 목록 <cat> catlist = catservice.listcats (); request.setAttribute ( "Carlist", Catlist); 리턴 매핑 .find ( "목록"); }}web.xml의 스프링 구성
<CENTEXT-PARAM> <!-스프링 구성 파일의 위치-> <Param-Name> ContextConfigLocation </param-name> <param-value> /web-inf/classes/applicationcontext.xml </param-value> </context-param> <lariser> <!-Listener를 사용하는 스프링 자산 파일을로드합니다. org.springframework.web.context.contextloaderListener </listener class> </liareer> <filter> <!-Spring 's On 자체 문자 필터를 사용합니다-> <filter-name> 특성 에코딩 필터 </filter-name> <filter-class> org.springframework.faweb.farorcterfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfilingfiling. <Param-Name> 인코딩 </param-name> <param- value> utf-8 </param-value> </init-param> <init-param> <init-param> <param-name> forceencoding </param-name> <param- value> true </param- value> </init-param> <filter-mapping> <filter-name> atriblicecodingfilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Hibernate와 함께 사용되면 Web.xml에 opensessionInViewFilter 필터를 추가하여 세션 범위를 JSP 계층으로 확장하여 지연된로드 예외가 발생하지 않도록해야합니다.
<filter> <filter-name> HibernateFilter </filter-name> <filter-class> org.springframework.orm.hibernate3.support. OpenSessionInViewFilter </filter-class> </filter> <filter-mapping> <filter-name> HibernateFilter </filter-name> <Url-pattern>*.
에이전트 방법
상속 메소드를 스프링에 통합하는 것은 매우 간단하지만, 단점은 코드가 스프링과 결합되며 동작이 관리를 위해 스프링으로 넘치지 않으므로 Spring의 AOP 및 IOC 기능을 사용할 수 없다는 것입니다. 프록시 방법을 사용하면 이러한 결함을 피할 수 있습니다.
공개 클래스 촉매는 행동을 확장합니다. {// 여기에 상속 된 행동 개인 Icatservice Catservice는 Catservice입니다. // setter and getter 약간 public actionforward execute (ActionMappingMapping, ActionForm 양식, httpservletRequest 요청, httpservletResponsponse) {catform catform = (catform) 양식; if ( "list".equals (catform.getaction ())) {returnthis.list (매핑, 양식, 요청, 응답); }} public actionforward list (ActionMappingMapping, ActionForm Form, HttpservletRequest 요청, httpservletResponsponse) {catform catform = (catform) 양식; icatservice catservice = getCatservice (); 목록 <cat> catlist = catservice.listcats (); request.setAttribute ( "Carlist", Catlist); 리턴 매핑 .find ( "목록"); }}이 조치는 스프링과 결합되지는 않지만 Icatservice 속성을 정의하면 Spring에 의해 주입됩니다.
struts-congfig.xml 구성
<form-beans> <form-bean name = "catform"type = "com.clf.spring.catform"> </form-beans> <action-mappings> <action name = "catform"path = "/cat"type = "com.clf.spring.cataction"> <prompant "list"path = "/jsp/listcat.jsp"> </action> </action> </action> </action>. 스프링 에이전트에 스트럿의 동작을 전달하는 대부분의 핵심 구성-> <Controller ProcessOrClass = "org.springframework.web.struts.delegatingRequestProcessor" /> <!-컨트롤러 구성이 적용된 후 동작 유형이 사용됩니다. Struts는 유형 속성에 지정된 클래스를 사용하여 촉매를 생성하지 않지만 스프링 구성에서 검색합니다. 따라서 스프링의 동작은 봄에 구성되어야합니다 .- 스프링의 동작은 ID 대신 이름 속성을 사용합니다. Spring은 "/cat.do"요청을 가로 채고 세터 메소드를 통해 Catservice를 촉매에 주입하고 Execute () 메소드를 호출합니다.> <bean name = "/cat"> <property name = "catservice"ref = "catservice"/</bean>.
web.xml의 구성은 위의 상속 메소드와 동일합니다.
프록시 메소드 사용 액션을 사용하면 방법 후 인터셉터 전후에 촉매 조치 구성과 같은 인터셉터와 같은 스프링 기능을 구성 할 수 있습니다.
<bean id = "catbeforeinterceptor"> <속성 이름 = "조언"> <bean/> </property> <property name = "mappedName"value = "*"> </property> </bean> <bean id = "catafterinterceptor"> <property name = "jock"> <bean/> </property> <property> <property name = "mappedname"> ">"> </property "> </bean>/bean>"> < 이름 = "interceptornames"> <list> <value> catbeforeinterceptor </value> <value> catefterinterceptor </value> </list> </property> <property name = "target"> <ean> <property name = "catservice"ref = "catservice"> </property> </bean> </bead> </bean>
스트럿 통합 2
Spring Integrates Struts 2는 struts2-spring-2.011.jar 패키지가 필요합니다
공개 계급 촉매 {private icatservice catservice; 개인 고양이 고양이; // setter and getter public string list () {catservice.listcats (); "목록"을 반환합니다. } public String add () {catservice.createcat (cat); 리턴리스트 (); }}struts.xml 구성
정상 구성 외에도 Spruts.objectFactory라는 상수를 추가하고 스프링으로 값을 설정해야합니다. 그런 다음 <action/>의 클래스 속성을 Cataction으로 변경하면 struts2는 봄에 촉매라는 콩을 검색합니다.
<constant name = "struts.objectory"value = "spring"/> <packagenamepackagename = "cat"extends = "struts-default"> <action name = "*_ cat"method = "{1}"> <param name = "action"> {1} </param> <cound> /list.jsp <jsp <jsp <jsp <jsp <jsp </action> <spl "> </패키지>봄 구성
<bean id = "cataction"scope = "프로토 타입"> <속성 이름 = "catservice"ref = "catservice"> </property> </bean>
web.xml 구성
<CENTEXT-PARAM> <!-스프링 구성 파일의 위치-> <Param-Name> ContextConfigLocation </param-name> <Param-Value> /web-inf/classes/applicationContext.xml </param-value> </context-param> <lariser> <!-Listener를 사용하는 스프링 자산을로드합니다. org.springframework.web.context.contextloaderListener </listener-class> </listeer> <filter> <filter-name> struts2 </filter-name> <filter-class.apache.struts2.dispatcher.filterdispatcher </filter class> <filter-mapping> <filter-mapping> struts2 </filter-name> <url-pattern>/*</url-pattern> </필터 매핑>
요약
위의 내용은 Spring의 웹 모듈 구성에 대한 자세한 설명입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오.
참조 :
SpringMVC의 페이지 점프 문제에 대한 간단한 토론
스프링 AOP 소개 데모 공유
스프링 프레임 워크 웹 프로젝트 실용 코드 공유