标签:
一直在说学习SSH,却也一直耽搁着,一来事情有点多,再则感觉有点难,一点时间可能学不会。正好现在比较闲,准备学习学习,入个门。初步打算每次的总结都会记录在这里,后面可以方便自己再次学习,有兴趣的朋友也可以支持下。
刚开始学习,难免有很多错误,希望大家理解。
同样从HelloWorld开始,哈哈。工程的结构图如下:
图1.工程结构图
主要关注LoginAction.java、struts.xml、web.xml和login.jsp。
web.xml文件的内容如图2,filter是过滤器。第11-20行配置了名为struts2的过滤器,对于所有的web请求,都会先经过org.apache.struts2.dispatcher.FilterDispatcher(以下简称FilterDispatcher)处理,然后分发给适当的Action去处理。
类比Servlet的配置方法,可以很好的理解filter。它由filter和filter-mapping两组标签完成。其中第13、19行的filter-name可以任意取名,但同一个filter必须保存一致。当配置多个filter时,每个filter的名字必须唯一。
图2. web.xml
login.jsp是登录页面,代码如图3.
图3. login.jsp
第26行的action的值表示当用户将数据提交后,会跳转到指定名字(Login)的Action进行处理。
LoginAction.java用来处理用户提交的用户名和密码,代码如图4.
图4. LoginAction.java
当用户提交用户名和密码时,FilterDispatcher会将该请求分发给名为Login的Action,同时请求的参数(用户名和密码会赋值给一个LoginAction对象),然后调用该对象execute方法并返回结果。
上文提到了FilterDispatcher将请求转发给LoginAction.java,因此我们需要对LoginAction.java进行配置。如图5所示:
图5. struts.xml
关于struts.xml文件的几点说明:
最后在增加error.jsp和welcome.jsp文件即可。
整个运行过程如下:
标签:
原文地址:http://www.cnblogs.com/luop/p/4202330.html