到此框架已经开发完成,此时你可以启动项目,验证项目是否有错误,特别是配置的文件的路径问题。
如果项目成功启动并且没有报任何错误,说明框架开发是没问题的,下面就是验证框架是否达到要求。我们使用登录这个非常常见的例子验证。

  1. 新建三个JSP文件,这三个文件的作用请看自定义MVC框架之一框架总说明中的说明
  2. 在配置文件snails-actions.xml增加LoginAction类配置
  3. 编写LoginAction,简单判断用户名和密码都是等于admin时跳转到成功页面success.jsp,否则跳转到失败页面fail.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.snails.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.snails.framework.action.Action;

public class LoginAction implements Action {

@Override
public String execute(HttpServletRequest request,
HttpServletResponse response) throws Exception {

String username = request.getParameter("username");
String password = request.getParameter("password");
// 简单判断,如果用户名和密码都是admin则登录成
if (username.equals(password)) {
request.setAttribute("username", username);
return SUCCESS;
} else {
return "fail";
}
}

}

注意: 要使用框架就必须实现Action类,并且实现方法execute,在此方法中调用M层处理,最后返回与配置对应的视图名。

JSP页面

这三个JSP页面就不再贴出来了,请直接到github项目myMVC直接获取吧。

验证

启动项目,输入http://localhost:8080/snails/进入到登录页面。
用户名和密码都是输入admin,点击提交,可以看到了转到success.jsp

登录成功

用户名和密码输入admin

登录成功

登录失败

用户名和密码输入的不是admin

可以看到地址栏为:http://localhost:8080/snails/fail.jsp因为此跳转设置为重定向(<result name="fail" redirect="true">fail.jsp</result>)。

小结

从结果验证上看,自己开发的MVC框架实现了类似于struts框架的功能,虽然没有struts那么强大,但是起码实现了视图层与控制层的分离,如果还有另外的业务我们只需要再添加一个实现Action类的控制器,然后再配置控制器。业务的跳转只需要在配置文件中配置即可,不需要再在Java代码中编写跳转。

项目完整代码请看MyMVC,欢迎fork学习,如果你觉得对你有帮助给我点个赞吧,当然也欢迎给我提意见(email:1527254027@qq.com,chendequanroob@gmail.com)。