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

来源:互联网 发布:字体识别软件 编辑:程序博客网 时间:2024/05/21 17:30

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

  1. Spring mvc是一个包含了Dispatcher servlet的MVC框架。他调用控制器方法并转发视图。
  2. Controller使用注解(annotation)的方式进行配置。
  3. Spring使用扫描的机制来找到应用程序中所有基于注解的控制器。
  4. 为了确保工程中所有的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>

这里写图片描述
以上配置应该注意的几点:

  1. 以上配置为本web工程添加了Spring MVC的Dispatcher Servlet,这个servlet采用扫描将URL转发到相应的Controller中。
  2. servlet和servlet-mapping中的servlet-name必须保持一致。
  3. init-param中的contextConfigLocation参数指出了本工程的spring mvc配置文件所在的目录,如果不配置该参数,spring mvc配置文件的默认路径为/WEB-INF下。
  4. spring mvc配置文件的名称为上面web.xml中< servlet-name >标签配的值在加上“-servlet.xml”组成。
  5. 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="http://www.springframework.org/schema/beans"  xmlns:context="http://www.springframework.org/schema/context"  xmlns:mvc="http://www.springframework.org/schema/mvc" 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        http://www.springframework.org/schema/mvc        http://www.springframework.org/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>

这里写图片描述
以上配置文件应注意的几点:

  1. xmlns用来标识关于初始化bean的格式文件地址;xmlns:xsi用来标识辅助初始化bean的格式文件地址;xsi:context:关于spring上下文,包括加载资源文件。
  2. 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;@Controllerpublic 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" "http://www.w3.org/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服务器。打开浏览器,输入http://localhost:8080/test/index即可访问index页面。

这里写图片描述

原创粉丝点击