Spring MVC - Ví dụ về ánh xạ trình xử lý tên lớp bộ điều khiển
Ví dụ sau cho thấy cách sử dụng ánh xạ xử lý tên lớp bộ điều khiển bằng cách sử dụng khuôn khổ Spring Web MVC. CácControllerClassNameHandlerMappinglớp là lớp ánh xạ trình xử lý dựa trên quy ước, lớp này ánh xạ (các) yêu cầu URL tới tên của bộ điều khiển được đề cập trong cấu hình. Lớp này lấy tên Controller và chuyển đổi chúng thành chữ thường với dấu "/" đứng đầu.
Ví dụ - HelloController ánh xạ tới URL "/ hello *".
<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>
Ví dụ: sử dụng cấu hình trên, nếu URI
/helloWorld.htm hoặc / xin chào {any letter} .htm được yêu cầu, DispatcherServlet sẽ chuyển tiếp yêu cầu đến HelloController.
/welcome.htm được yêu cầu, DispatcherServlet sẽ chuyển yêu cầu đến WelcomeController.
/Welcome.htm được yêu cầu trong đó W được viết hoa, DispatcherServlet sẽ không tìm thấy bất kỳ bộ điều khiển nào và máy chủ sẽ báo lỗi trạng thái 404.
Để bắt đầu với nó, hãy để chúng tôi có một IDE Eclipse đang hoạt động tại chỗ và làm theo các bước tiếp theo để phát triển Ứng dụng web dựa trên Biểu mẫu động bằng cách sử dụng Spring Web Framework.
Bươc | Sự miêu tả |
---|---|
1 | Tạo một dự án với tên TestWeb trong một gói com.tutorialspoint như đã giải thích trong chương Spring MVC - Hello World. |
2 | Tạo các lớp Java HelloController và WelcomeController trong gói com.tutorialspoint. |
3 | Tạo các tệp xem hello.jsp, welcome.jsp trong thư mục con jsp. |
4 | Bước cuối cùng là tạo nội dung của tệp nguồn và cấu hình và xuất ứng dụng như được giải thích bên dưới. |
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>
xin chào.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>
Khi bạn đã hoàn tất việc tạo tệp nguồn và cấu hình, hãy xuất ứng dụng của bạn. Nhấp chuột phải vào ứng dụng, sử dụngExport → WAR File tùy chọn và lưu TestWeb.war tệp trong thư mục ứng dụng web của Tomcat.
Bây giờ, hãy khởi động máy chủ Tomcat của bạn và đảm bảo rằng bạn có thể truy cập các trang web khác từ thư mục ứng dụng web bằng trình duyệt chuẩn. Hãy thử một URL -http://localhost:8080/TestWeb/helloWorld.htm và chúng ta sẽ thấy màn hình sau, nếu mọi thứ đều ổn với Ứng dụng Web Mùa xuân.
Thử một URL http://localhost:8080/TestWeb/hello.htm và chúng ta sẽ thấy màn hình sau, nếu mọi thứ đều ổn với Ứng dụng Web Mùa xuân.
Thử một URL http://localhost:8080/TestWeb/welcome.htm và chúng ta sẽ thấy màn hình sau, nếu mọi thứ đều ổn với Ứng dụng Web Mùa xuân.
Thử một URL http://localhost:8080/TestWeb/Welcome.htm và chúng ta sẽ thấy màn hình sau, nếu mọi thứ đều ổn với Ứng dụng Web Mùa xuân.