简洁自定义框架的开发步骤
来源:互联网 发布:万达复利理财网络 编辑:程序博客网 时间:2024/06/05 22:53
1、定义Action接口
public interface Action {
public String execute(HttpServletRequest request,
HttpServletResponse response) throws Exception;
}
2、实现自定义Action接口
public class LoginAction implements Action {
public String execute(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String name = request.getParameter("uid");
String password = request.getParameter("pwd");
// 业务处理
CustomerBiz ub = new CustomerBizImpl();
Customer user = ub.login(name, password);
// 判断登录是否成功
if (user == null) {
request.setAttribute("message", "用户名或密码错误");
return "login.jsp";
} else {
request.getSession().setAttribute("login", user);
return "index.jsp";
}
}
}
3、实现Controller类ActionServlet
1)获取自定义Action
public Action getAction(HttpServletRequest request){
//获取请求的uri
String uri = request.getRequestURI();
//获取上下文路径
String contextPath = request.getContextPath();
//截取上下文路径以后的部分
String actionPath = uri.substring(contextPath.length());
//获取Action 名称
String actionName =
actionPath.substring(1,actionPath.lastIndexOf('.')).trim();
Action action = null;
//添加新功能时在这里添加
if("login".equals(actionName)){
action = new LoginAction();
}
return action;
}
2)调用execute方法
public void doGet(HttpServletRequestrequest,
HttpServletResponse response) throws Exception {
//获得Action
Action action = this.getAction(request);
//调用Action execute 方法
String resultView = action.execute(request, response);
//actionMapping
request.getRequestDispatcher(resultView).forward(
request, response);
}
4、配置ActionServlet
1)修改web.xml文件,配置ActionServlet
<servlet>
<servlet-name>ActionServlet</servlet-name>
<servlet-class>*.*.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ActionServlet</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
5、上面只能接受一个action处理,如果有多个action,如何接收呢?
2)Controller的完善ActionServlet,增加架构配置文件mystruts.xml
3)保存Action信息,修改Action,ActionMapping,保存配置的Result 属性信息Map<String,String>
4)读取Action信息,修改ActionServlet的init方法
5)使用反射生成Action,ActionManager的createAction方法用来获取Action实例
6)loadClass方法动态加载类ActionManager,loadClass方法动态加载类
7)修改ActionServlet配置信息
<servlet>
<servlet-name>ActionServlet</servlet-name>
<servlet-class>com.birlt.dangdang.servlet.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>mystruts.xml</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
6、完善视图
1)保存视图Result类
2)修改ActionMapping,保存配置的Result 属性信息Map<String,Result>
3)增加ActionMappingManager类
4)修改ActionServlet,需要修改init方法,并将getAction改为getActionMapping,并将修改获取mapping内容
7、注册完成功能
public interface Action {
public String execute(HttpServletRequest request,
HttpServletResponse response) throws Exception;
}
2、实现自定义Action接口
public class LoginAction implements Action {
public String execute(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String name = request.getParameter("uid");
String password = request.getParameter("pwd");
// 业务处理
CustomerBiz ub = new CustomerBizImpl();
Customer user = ub.login(name, password);
// 判断登录是否成功
if (user == null) {
request.setAttribute("message", "用户名或密码错误");
return "login.jsp";
} else {
request.getSession().setAttribute("login", user);
return "index.jsp";
}
}
}
3、实现Controller类ActionServlet
1)获取自定义Action
public Action getAction(HttpServletRequest request){
//获取请求的uri
String uri = request.getRequestURI();
//获取上下文路径
String contextPath = request.getContextPath();
//截取上下文路径以后的部分
String actionPath = uri.substring(contextPath.length());
//获取Action 名称
String actionName =
actionPath.substring(1,actionPath.lastIndexOf('.')).trim();
Action action = null;
//添加新功能时在这里添加
if("login".equals(actionName)){
action = new LoginAction();
}
return action;
}
2)调用execute方法
public void doGet(HttpServletRequestrequest,
HttpServletResponse response) throws Exception {
//获得Action
Action action = this.getAction(request);
//调用Action execute 方法
String resultView = action.execute(request, response);
//actionMapping
request.getRequestDispatcher(resultView).forward(
request, response);
}
4、配置ActionServlet
1)修改web.xml文件,配置ActionServlet
<servlet>
<servlet-name>ActionServlet</servlet-name>
<servlet-class>*.*.ActionServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ActionServlet</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
5、上面只能接受一个action处理,如果有多个action,如何接收呢?
2)Controller的完善ActionServlet,增加架构配置文件mystruts.xml
3)保存Action信息,修改Action,ActionMapping,保存配置的Result 属性信息Map<String,String>
4)读取Action信息,修改ActionServlet的init方法
5)使用反射生成Action,ActionManager的createAction方法用来获取Action实例
6)loadClass方法动态加载类ActionManager,loadClass方法动态加载类
7)修改ActionServlet配置信息
<servlet>
<servlet-name>ActionServlet</servlet-name>
<servlet-class>com.birlt.dangdang.servlet.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>mystruts.xml</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
6、完善视图
1)保存视图Result类
2)修改ActionMapping,保存配置的Result 属性信息Map<String,Result>
3)增加ActionMappingManager类
4)修改ActionServlet,需要修改init方法,并将getAction改为getActionMapping,并将修改获取mapping内容
7、注册完成功能
- 简洁自定义框架的开发步骤
- 开发自定义控件的步骤
- 自定义Cell的开发步骤
- SpringMVC的简洁配置步骤
- Bootstrap:简洁、直观、强悍的前端开发框架
- Bootstrap简洁、直观、强悍的前端开发框架
- servlet的自定义标签的开发步骤
- JavaWeb自定义标签的开发步骤
- 自定义数据类型转换器的开发步骤
- SSH框架整合开发项目的步骤
- LESS CSS 框架简介////Bootstrap 简洁、直观、强悍的前端开发框架,
- 自定义标签开发步骤:
- Bootstrap 简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。
- Struts2框架开发步骤
- 三层框架 开发步骤
- 在MFC框架中添加自定义消息的几个步骤
- iOS开发自定义简洁实用的高可扩展的Model基类
- dedecms自定义文章模型联动筛选效果的开发简洁版
- 大型网站架构演变和知识体系
- 【转】经验分享:大型高并发高负载网站的系统架构
- 重量级与轻量级的区别
- 命令启动ORACLE9I的两个服务启动与关闭节约内存
- JSTL
- 简洁自定义框架的开发步骤
- sybase ase:windows 无法启动sysam服务
- 向IBM进军
- 有效创建oracle dblink 的两种方式
- sql like 优化
- Sybase IQ从远程数据库插入到本地数据库
- WIN 7下安装ORACLE 10g心得
- 企业商—誉管理系统
- 我曾经玩过的系统恩信ERP、JEECMS、财政部财政系统应用支撑平台、IBM Portal