struts的基本原理(用servlet)说明
来源:互联网 发布:mmap 内核源码分析 编辑:程序博客网 时间:2024/06/07 01:32
添加用户:以前是传一个command,现在换一种方式,不传command了.在servlet的url-pattern中用*.do;则如果是添加就是addUser.do,那么在servlet中截取到这个是/servlet/addUser还是/servlet/delUser而作相应的操作.但这也有一个缺点,就是会有大量的if..else语句,把东西写死了,不符合OCP原则.还有就是/servlet/delUser等这样的串容易写错,也容易写死.还有就是这些要转向的页面也写死了,不灵活!这些东西如何拿出来.
如何去掉if...else?
抽取一个接口,叫Action,有个方法execute();然后每个if都对应一个类,它实现了Action接口,如AddUserAction,servlet中看到的是Action接口.并且要把这些东西用xml文件配起来,
配置格式如下:
<action-config>
<action path="/servlet/addUser" type="cn.wenping.servlet.AddUserAction">
<forward name="success">/add_success.jsp</forward>
<forward name="error">/add_error.jsp</forward>
</action>
<action path="/servlet/delUser" type="cn.wenping.servlet.DelUserAction">
<forward name="success">/del_success.jsp</forward>
<forward name="error">/del_error.jsp</forward>
</action>
</action-config>
可以把这些东西放到一个map里面嘛,map.put(path,一个mapping)
mapping包含的信息的形式是这样:
ActionMapping{
private String path;
private String type;
Map forwardMap;
}
forwardMap{
key="success";
value="del_success.jsp";
key="error"
value="del_error.jsp"
}
如添加就是
actionMapping{
path="/servlet/addUser";
type="cn.wenping.servlet.AddUserAction";
forwardMap{
key="success",value="...";
key="error", value="..."
}
}
将每一条配置放入一个map里面,path就是这个map的key
Map map = new HashMap();
map.put("/servlet/delUser", actionMapping);
map.put("/servlet/addUser", actionMapping);
map.put("/servlet/modifyUser", actionMapping);
map.put("/servlet/queryUser", actionMapping);
String path="/servlet/addUser"
在servlet中就可以通过截取的URL请求,到Map里面去请求对应的Action
ActionMapping actionMapping=(ActionMapping)map.get(path)
取得本请求对应的Action类的完整路径String type = actionMappint.getType();
采用反射动态实例化Action
Action action = (Action)class.forName(type).newInstance();
动态待用Action中的execute方法
String forward = action.execute(request, response);
根据路径完成转向
request.getRequestDispatcher(forward).forward(request, response);
以上就是struts的基本原理
- struts的基本原理(用servlet)说明
- 一口一口吃掉Struts(一)——用JSP+Servlet演示Struts的基本原理
- 一口一口吃掉Struts(一)——用JSP+Servlet演示Struts的基本原理
- 一口一口吃掉Struts(一)——用JSP+Servlet演示Struts的基本原理 .
- Struts(一)——用JSP+Servlet演示Struts的基本原理 .
- 一口一口吃掉Struts(一)——用JSP+Servlet演示Struts的基本原理
- servlet的一些基本原理。
- struts基本原理
- struts 基本原理
- struts基本原理
- 【Struts 1】Struts1的基本原理和简介
- JSP+Servlet+Struts2的基本原理学习笔记
- struts(二)——struts框架实现的基本原理
- Struts 2.0 学习一 struts的基本原理与基本配置
- servlet的详细说明
- servlet的配置文件说明
- struts 和servlet的关系
- struts 和servlet的关系
- 详细讲解C++ 类的继承
- nyist 252 01串
- 资深人士关于PIFA天线的理解与讨论
- ubuntu 10.04 xdmcp
- 在ADF中使用JavaScript的技巧
- struts的基本原理(用servlet)说明
- Android游戏开发之地图编辑器的使用以及绘制地图 (四)
- 写SQL文件
- FTP_client c program
- NPOI 创建 Excel 出错“此文件中的某些文本格式可能已经更改,因为它已经超出最多允许的字体数。关闭其他文档再试一次可能有用。”
- 一个 div 有五个边,这个只有 IE 6 干得出来!
- 模拟RPG游戏中主角的斑点影子效果
- Java Socket编程 标准范例(多线程)
- 面向对象基础--String类