package y2ssh.sg.chp1.framework;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import y2ssh.sg.chp1.action.MultiAction;
import y2ssh.sg.chp1.action.loginAction;
/**
* 自定义MVC框架:基于Servlet实现的控制器
* @author 北大青鸟
*/
public class Controller extends HttpServlet {
private static final long serialVersionUID = 1595433834962010235L;
/**
* 根据path判断由哪个action执行操作。
*/
private Action determinActionByPath(
HttpServletRequest request) {
Action ret = null;
//得到请求路径,如:http://localhost:8080/zf/add.do
String path = request.getServletPath();
//如:从http://localhost:8080/zf/add.do中得到add
String actionName =
path.substring(
path.lastIndexOf('/') + 1, path.length() - 3);
//添加新功能时在这里添加
if("m".equals(actionName)){
ret = new MultiAction();
}
else if("login".equals(actionName))
ret=new loginAction();
return ret;
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// 1.得到要调用的Action
Action action = (Action)this.determinActionByPath(request); // 2.调用action的execute方法
String resultView = action.execute(request,response);
// 3.页面转向
if (null!=resultView){
request.getRequestDispatcher(resultView).
forward(request, response);
}
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
简单自定义框架-帮助你理解SSH框架的原理
共23个文件
class:7个
java:7个
jsp:4个
5星 · 超过95%的资源 需积分: 3 56 下载量 147 浏览量
2009-07-29
10:51:27
上传
评论
收藏 12KB RAR 举报
温馨提示
本项目通过实现简单的加法器和登录验证,让你体会到框架的设计思路,和原理,通过它你将更好的理解框架的原理!
资源推荐
资源详情
资源评论
收起资源包目录
.rar (23个子文件)
mult
.project 1KB
.mymetadata 285B
WebRoot
login.jsp 1KB
WEB-INF
web.xml 640B
lib
classes
y2ssh
sg
chp1
biz
CalcBiz.class 396B
UserImpl.class 173B
UserBiz.class 589B
action
loginAction.class 1KB
MultiAction.class 1KB
framework
Action.class 237B
Controller.class 2KB
index.jsp 1020B
META-INF
MANIFEST.MF 39B
loginSuccess.jsp 851B
result.jsp 1KB
.myeclipse
src
y2ssh
sg
chp1
biz
UserImpl.java 118B
CalcBiz.java 132B
UserBiz.java 241B
action
MultiAction.java 641B
loginAction.java 738B
framework
Action.java 300B
Controller.java 2KB
.classpath 340B
共 23 条
- 1
资源评论
- mugenghan2014-08-31很好,对刚入门挺有用的
- butioy2013-07-28不错,让我有点理解框架了!!
woaizard100
- 粉丝: 27
- 资源: 46
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- #P0015. 全排列 超级简单
- pta题库答案c语言之排序4统计工龄.zip
- pta题库答案c语言之树结构7堆中的路径.zip
- pta题库答案c语言之树结构3TreeTraversalsAgain.zip
- pta题库答案c语言之树结构2ListLeaves.zip
- pta题库答案c语言之树结构1树的同构.zip
- 基于C++实现民航飞行与地图简易管理系统可执行程序+说明+详细注释.zip
- pta题库答案c语言之复杂度1最大子列和问题.zip
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功