`
v5qqbrowser
  • 浏览: 358515 次
文章分类
社区版块
存档分类
最新评论

自己开发复杂的MVC构架5——使用示例

 
阅读更多

实现这个MVC构架之后,使用起来就和Struts一样(当然,完全模仿的么-_-!)

如controllerMapping.xml所示:

<?xml version="1.0" encoding="UTF-8"?>

<controllers>

	<controller name="login" url="login" class="action.LoginAction">

		<forward name="error" value="/login/error.jsp"/>

		<forward name="success" value="/login/welcome.jsp"/>

	</controller>

	<controller name="insert" url="insert" class="action.insertAction.InsertAction">

		<forward name="success" value="/insert/ok.jsp"/>

	</controller>

</controllers>

这里配置了两个业务处理的Bean,分别是login和insert。

url是他们的映射,class当然是物理位置,forward 是返回目标。

在这里实现这个Bean只需实现BaseAction接口即可,里面只有一个方法doOperate,他的返回值将对应forward反回相应的目标。

这里是login的示例:

LoginAction:

package action;



import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

/**

 * @author lingxiao

 */

public class LoginAction implements BaseAction{

	private String username;

	private String password;

	public void setUsername(String username) {

		this.username = username;

	}

	public void setPassword(String password) {

		this.password = password;

	}

	/**

	 * 实现业务逻辑的处理

	 */

	public String doOperate(HttpServletRequest request, HttpServletResponse response,HttpSession session) {

		if(username.equals("lingxiao") && password.equals("123456"))

			return "success";

		else

			return "error";

	}

}

/login/login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>login</title>

  </head>

  

  <body>

    <form action="login.action" method="post">

    <br>username:<input type="text" name="username" value="lingxiao">

    <br>password:<input type="text" name="password" value="">

    <br><input type="submit" value="login">

    </form> 

  </body>

</html>

welcom.jsp和error.jsp 略

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics