在項目中使用struts2和spring mvc爲了實現後臺的業務代碼和前臺數據之間的傳遞,如今基本上不會有用struts2的了,幾回面試問的最多的關於struts2的問題就是struts2和spring mvc之間的區別,其中關於使用配置文件和註解的問題就回答錯誤了。 css
下面是struts2的配置文件(一部分),每次都是根據配置去找對應的Action,struts2是經過類的成員變量接收數據,在多線程的環境下,這些變量是共享的。java
<package name="user" namespace="/user" extends="struts-default">
<action name="login" class="com.struts2.action.UserAction"
method="login">
<result name="a">/Success.jsp</result>
<result name="b">/login.jsp</result>
</action>
</package>
接下來是spring mvc使用註解完成的功能,spring mvc處理的時候根據RequestMapping找對應的url,和struts2相比,spring mvc對於數據比較安全,每一個方法之間都是經過形參傳遞數據,方法結束,形參結束生命被銷燬。面試
@Controller
@RequestMapping("/user")
public class UserController {
@RequestMapping("add")
public String add(User user) {
return "add";
}
}
spring mvc採用的是AOP思想,能夠實現預處理(實現處理器的預處理(如登陸檢查)),後處理(實現處理器的後處理(但在渲染視圖以前)),整個請求處理完畢回調方法,即在視圖渲染完畢時回調 spring