struts2+spring

没用到hibernate,简单的搭建了环境,上篇文章介绍过。搭建过程中有几个注意点。新版本的struts2过滤器的配置和老版本不同

	<filter>
		<filter-name>struts</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>struts</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

 

二:认真检查spring的包,最后研究一下。我这是遗落了struts2-spring-plugin这个jar,导致注入不了报空指针。什么叫整合,也就是两个框架要联系对吧,这个包应该是关键作用。

 

三:要了解struts2的流程。前端页面一个action过来,程序应该是去action中找(action在MVC中其实和servlet作用一样的,属于和V层打交道的),我们知道action是配置在struts.xml中,通过struts.xml class属性去spring配置文件applicationContext.xml中找bean的name属性,知道对应的action。action中一般会注入业务逻辑的类,比如

	<bean name="LoginAction" class="com.hqj.action.LoginAction">
	
		<property name="loginService">
			<ref bean="loginService"/>
		</property>
	
	</bean>

 看配置,我们知道程序会找到Loginservice,这个类在处理完后交给action execute处理返回字符串值,再到struts.xml找到相应跳转。整个大概就这样。

 

四:注意的一些对应

前端页面表单如

    	<s:form name="LoginAction" action="/LoginAction" method="post">
    		userName:<s:textfield name="name" label="userName"></s:textfield><br/>
    		<br/>
    		password:<s:textfield name="pass" label="password"></s:textfield><br/>
    		<br/>
    		<s:submit label="submit"></s:submit>
    	</s:form>

 

s:textfield name="name"这个name要和

  

  

@SuppressWarnings("serial")
public class LoginAction extends ActionSupport {
	
	private String name;
	private String pass;	
	private LoginService loginService;

 

中String name这个name对应.

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(struts2)