没用到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对应.