admin管理员组

文章数量:1794759

在spring mvc应用中创建第一个Controller

在spring mvc应用中创建第一个Controller

在操作前需要了解的知识:

  • spring mvc是一个包含了Dispatcher servlet的MVC框架。他调用控制器方法并转发视图。
  • Controller使用注解(annotation)的方式进行配置。
  • Spring使用扫描的机制来找到应用程序中所有基于注解的控制器。
  • 为了确保工程中所有的jsp文件不被用户直接访问到,因此工程中的jsp一般不直接放在webapp目录下,而是放置在webapp/WEB-INF下。

  • Controller的具体配置过程: (1)准备操作。 在webapp/WEB-INF目录下创建config(存放配置文件)和view(存放jsp文件)文件夹。在 src/main/java目录下创建controller包(存放控制器类)。

    (2)在web.xml中配置DispatcherServlet。 打开web.xml文件,在< web-app >标签内输入以下内容。

    <servlet> <servlet-name>spring-mvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/config/spring-mvc-servlet.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring-mvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>

    以上配置应该注意的几点:

  • 以上配置为本web工程添加了Spring MVC的Dispatcher Servlet,这个servlet采用扫描将URL转发到相应的Controller中。
  • servlet和servlet-mapping中的servlet-name必须保持一致。
  • init-param中的contextConfigLocation参数指出了本工程的spring mvc配置文件所在的目录,如果不配置该参数,spring mvc配置文件的默认路径为/WEB-INF下。
  • spring mvc配置文件的名称为上面web.xml中< servlet-name >标签配的值在加上“-servlet.xml”组成。
  • url-pattren表示该servlet将要拦截并转发的url的形式。“/”表示拦截所有url。
  • (3)Spring MVC配置文件 /WEB-INF/config目录下创建spring-mvc-servlet.xml文件。(具体的创建位置由web.xml中servlet的contextConfigLocation决定)。向该xml文件中添加下面信。

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="www.springframework/schema/beans" xmlns:context="www.springframework/schema/context" xmlns:mvc="www.springframework/schema/mvc" xmlns:xsi="www.w3/2001/XMLSchema-instance" xsi:schemaLocation=" www.springframework/schema/beans www.springframework/schema/beans/spring-beans-3.0.xsd www.springframework/schema/context www.springframework/schema/context/spring-context-3.0.xsd www.springframework/schema/mvc www.springframework/schema/mvc/spring-mvc-3.0.xsd"> <!-- 启用spring mvc注解 --> <context:annotation-config /> <!-- 设置使用注解的类所在的包,即Dispatcherservlet寻找controller时扫描的包 --> <context:component-scan base-package="controller" /> <!-- 对处理结果所转向的页面进行解析 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view/" /> <property name="suffix" value=".jsp" /> </bean> </beans>

    以上配置文件应注意的几点:

  • xmlns用来标识关于初始化bean的格式文件地址;xmlns:xsi用来标识辅助初始化bean的格式文件地址;xsi:context:关于spring上下文,包括加载资源文件。
  • InternalResourceViewResovler是常用的视图解析器,如果Controller返回的是index,那么通过视图解析器解析之后的视图就是/WEB-INF/view/index.jsp。
  • (3)编写controller类文件 在src/mian/controller文件夹下创建FisetController类。

    package controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class FirstController { @RequestMapping("index") public String Index() { return "index"; } }

    (4)编写index.jsp 在/WEB-INF/VIEW文件夹下创建index.jsp,在index.jsp中添加页面内容。

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "www.w3/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> My First Controller. </body> </html>

    (6)在Package Explorer中右击工程名,依次选择 run as -> run on server,然后选择tomcat服务器。打开浏览器,输入localhost:8080/test/index即可访问index页面。

    本文标签: 第一个springMVCcontroller