2016-05-15 48 views
0

我是新來JSP和Servlet,我想開發一個使用MVC模式的Web應用程序 我想知道是否有任何方式來創建一個控制器使用它可以處理許多動作和視圖(像在ASP.NET MVC)JSP MVC:如何使用一個控制器與多個視圖和操作

例如一個servlet我有一個控制器命名爲「的AccountController」 我想是: 當用戶請求的URL /帳號/登錄 AccountController處理請求(get或post)並顯示LoginView.jsp

與同爲URL /帳號/註冊 的的AccountController處理請求(GET或POST),並顯示RegisterView.jsp

回答

0

我建議使用Spring MVC的用於此目的http://docs.spring.io/autorepo/docs/spring/3.2.x/spring-framework-reference/html/mvc.html

你會有這樣的事情:

@Controller 
@RequestMapping("/Account") 
public class AccountController { 

@RequestMapping(value = "/login", method = RequestMethod.POST) 
public String login() { 

    ... 
} 

@RequestMapping(value = "/register", method = RequestMethod.POST) 
public String register() { 

    ... 
} 

@RequestMapping(value = "/welcome", method = RequestMethod.GET) 
public String welcome() { 

    ... 
} 

}

1

非常感謝您,先生

但我做到了,而無需使用Spring框架:)

這是我的代碼:

1 - AccountControler.java

public class AccountController extends HttpServlet { 

    // GET 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    { 
     String action = Helper.getAction(request); 

     switch (action) { 
     case "Login": 
      // ToDo 
      View.go(request, response, "../LoginView.jsp"); 
      break; 

     case "Register": 
      // ToDo 
      View.go(request, response, "../RegisterView.jsp"); 
      break; 
     default: 
      View.go(request, response, "../HomeView.jsp"); 
      break; 
     } 
    } 
} 

這是的getAction()方法

public static String getAction(HttpServletRequest request) { 
    String act[] = request.getRequestURL().toString().split("/"); 
    return act[act.length-1]; 
} 
相關問題