Springmvc 简明教程
Spring MVC - Controller Class Name Handler Mapping Example
以下示例展示了如何使用控制器类名处理映射及使用 Spring Web MVC 框架。 ControllerClassNameHandlerMapping 类是基于约定的处理程序映射类,它将 URL 请求映射到配置中提到的控制器的名称。该类获取控制器名称并将它们转换成小写,并在其前面添加 /。
The following example shows how to use the Controller Class Name Handler Mapping using the Spring Web MVC framework. The ControllerClassNameHandlerMapping class is the convention-based handler mapping class, which maps the URL request(s) to the name of the controllers mentioned in the configuration. This class takes the Controller names and converts them to lower case with a leading "/".
例如 - HelloController 映射到 /hello* URL。
For example − HelloController maps to "/hello*" URL.
<beans>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value = "/WEB-INF/jsp/"/>
<property name = "suffix" value = ".jsp"/>
</bean>
<bean class = "org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<bean class = "com.tutorialspoint.HelloController" />
<bean class = "com.tutorialspoint.WelcomeController"/>
</beans>
例如,使用以上配置,如果请求 URI
For example, using above configuration, if URI
-
/helloWorld.htm or /hello{any letter}.htm is requested, DispatcherServlet will forward the request to the HelloController.
-
/welcome.htm is requested, DispatcherServlet will forward the request to the WelcomeController.
-
/Welcome.htm is requested where W is capital cased, DispatcherServlet will not find any controller and the server will throw 404 status error.
首先准备一个可用的 Eclipse IDE,并遵循后续步骤使用 Spring Web 框架开发一个基于动态表单的 Web 应用程序。
To start with it, let us have a working Eclipse IDE in place and follow the subsequent steps to develop a Dynamic Form based Web Application using Spring Web Framework.
Step |
Description |
1 |
Create a project with a name TestWeb under a package com.tutorialspoint as explained in the Spring MVC - Hello World chapter. |
2 |
Create Java classes HelloController and WelcomeController under the com.tutorialspoint package. |
3 |
Create view files hello.jsp, welcome.jsp under the jsp sub-folder. |
4 |
The final step is to create the content of the source and configuration files and export the application as explained below. |
HelloController.java
package com.tutorialspoint;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class HelloController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("hello");
model.addObject("message", "Hello World!");
return model;
}
}
WelcomeController.java
package com.tutorialspoint;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class WelcomeController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView model = new ModelAndView("welcome");
model.addObject("message", "Welcome!");
return model;
}
}
TestWeb-servlet.xml
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:context = "http://www.springframework.org/schema/context"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name = "prefix" value = "/WEB-INF/jsp/"/>
<property name = "suffix" value = ".jsp"/>
</bean>
<bean class = "org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<bean class = "com.tutorialspoint.HelloController" />
<bean class = "com.tutorialspoint.WelcomeController"/>
</beans>
hello.jsp
<%@ page contentType="text/html; charset = UTF-8" %>
<html>
<head>
<title>Hello World</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
welcome.jsp
<%@ page contentType = "text/html; charset=UTF-8" %>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h2>${message}</h2>
</body>
</html>
在创建原代码和配置文件后,导出您的应用程序。右键单击该应用程序,使用 Export → WAR File 选项,并将 TestWeb.war 文件保存到 Tomcat 的 webapps 文件夹中。
Once you are done with creating source and configuration files, export your application. Right click on the application, use the Export → WAR File option and save the TestWeb.war file in Tomcat’s webapps folder.
现在,启动 Tomcat 服务器并确保能够使用标准浏览器访问 webapps 文件夹中的其他网页。尝试以下 URL - http://localhost:8080/TestWeb/helloWorld.htm 如果 Spring Web 应用程序一切正常,我们会看到以下屏幕。
Now, start your Tomcat server and make sure you are able to access other webpages from the webapps folder using a standard browser. Try a URL − http://localhost:8080/TestWeb/helloWorld.htm and we will see the following screen, if everything is fine with the Spring Web Application.
尝试以下 URL - http://localhost:8080/TestWeb/hello.htm 如果 Spring Web 应用程序一切正常,我们会看到以下屏幕。
Try a URL http://localhost:8080/TestWeb/hello.htm and we will see the following screen, if everything is fine with the Spring Web Application.
尝试一个网址 http://localhost:8080/TestWeb/welcome.htm ,如果Spring Web应用程序一切正常,我们将会看到以下屏幕。
Try a URL http://localhost:8080/TestWeb/welcome.htm and we will see the following screen, if everything is fine with the Spring Web Application.
尝试URL http://localhost:8080/TestWeb/Welcome.htm ,如果Spring Web应用程序一切正常,我们将看到以下屏幕。
Try a URL http://localhost:8080/TestWeb/Welcome.htm and we will see the following screen, if everything is fine with the Spring Web Application.