Model1
Model2
说一下运行原理
请求--àActionServlet(读取配置文件决定Action)--àAction--àModle--àView
ActionServlet就是控制器,它继承javax.servlet.http.HttpServlet,是一个特殊的Servlet
是不是觉得跟ASP.NET的MVC很像?没错,ActionServlet就是一个特殊类,所有的URL请求都交给它。
使用过程
最简单的MVC
第一步:
下载Struts的包
第二步:
项目中引入struts2.jar包
第三步:
在web.xml中加入
actionServlet
org.apache.struts.action.ActionServlet
actionServlet
.do
第四步:在web.xml同目录建立struts-config.xml
第五步:写自己的Action,里面关键是实现excute()方法重写
Public final class LoginAction extends Action
{
Public ActionForward excute(ActionMapping mapping,ActonForm form,HttpServletRequest request,HttpServletResponse response) throws Exceptin
{
Return mapping.findForward(“successed”);//跳转到视图
}
}
第六步:实现自己的视图
视图实际上就是一个jsp,不过它是一个很特殊的jsp,为什么特殊呢?很显然,它要从Action中获取Action运行得到的数据,不特殊怎么行?
当然,一个普通的页面jsp或者说静态页面也可以作为view,这里我们就使用一个静态页面先吧。
这样一个简单的MVC实际上就实现了。
处理URL中参数数据
这样一种情况,我点一个链接,当然链接中有参数-àActionàAction处理参数-àView过程,View中还要获得这个参数,怎么办?
第一步:写一个页面,页面中链接如下
第二步:写一个testAction
Public final class testAction extends Action //注意名字
{
Public ActionForward excute(ActionMapping mapping,ActonForm form,HttpServletRequest request,HttpServletResponse response) throws Exceptin
{
Return mapping.findForward(“test”);//跳转到视图
}
}
第三步:写视图,并获取数据
处理表单数据
关键类及其作用
Struts中view中标签