SpringMVC的视图控制器(三)

2023-05-13 15:36:30 浏览数 (1)

接下来,我们需要创建一个名为 spring-config.xml 的 SpringMVC 配置文件,该文件将 InternalResourceViewResolver 添加到应用程序中,并将 HomeController 和 AboutController 添加到 DispatcherServlet 中。spring-config.xml 文件的内容如下:

代码语言:javascript复制
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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
                           http://www.springframework.org/schema/mvc
                           http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
 
    <context:component-scan base-package="com.example.controller" />
    <mvc:annotation-driven />
 
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/" />
        <property name="suffix" value=".jsp" />
    </bean>
 
</beans>

在上面的代码中,我们首先使用 component-scan 元素扫描 com.example.controller 包中带有 @Controller 注解的类。然后,我们使用 annotation-driven 元素启用 SpringMVC 的注解驱动。最后,我们创建了一个 InternalResourceViewResolver,并将它的 prefix 属性设置为 "/WEB-INF/views/",将它的 suffix 属性设置为 ".jsp"。

现在,我们可以创建 HomeController 和 AboutController 类,这些类将处理 /home 和 /about URL,并返回视图名称:

代码语言:javascript复制
@Controller
public class HomeController {
    
    @RequestMapping("/home")
    public String home() {
        return "home";
    }
    
}
代码语言:javascript复制
@Controller
public class AboutController {
    
    @RequestMapping("/about")
    public String about() {
        return "about";
    }
    
}

在上面的代码中,我们创建了两个带有 @Controller 注解的类,分别用于处理 /home 和 /about URL。这些方法返回视图名称,而不是实际的视图。SpringMVC 将使用 InternalResourceViewResolver 将视图名称转换为实际的视图。

最后,我们将创建视图文件,这些文件将显示在浏览器中。在我们的例子中,我们将创建 home.jsp 和 about.jsp 文件,并将它们保存在 /WEB-INF/views/ 目录下。这些文件的内容可以自定义,但是下面是一个简单的示例:

home.jsp:

代码语言:javascript复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Home</title>
</head>
<body>
    <h1>Welcome to the Home Page!</h1>
</body>
</html>

about.jsp:

代码语言:javascript复制
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>About</title>
</head>
<body>
    <h1>About Us</h1>
    <p>We are a small team of developers based in the United States.</p>
</body>
</html>

现在,我们已经完成了一个简单的 SpringMVC 应用程序。启动应用程序后,当访问 /home URL 时,将显示 home.jsp 视图,当访问 /about URL 时,将显示 about.jsp 视图。我们已经在 web.xml 文件中将 DispatcherServlet 映射到 / 路径,所以我们可以直接访问应用程序的根路径,而不需要添加任何路径。

0 人点赞