zoukankan      html  css  js  c++  java
  • springMVC配置

    一、普通配置

    1、创建web.xml

    在WEB-INF目录下创建 web.xml

    配置Spring MVC的入口 DispatcherServlet,把所有的请求都提交到该Servlet

    注意:<servlet-name>springmvc</servlet-name>

    springmvc这个名字在下一步会用到

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>
                org.springframework.web.servlet.DispatcherServlet
            </servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    </web-app>

    2、创建springmvc-servlet.xml

    在WEB-INF目录下创建 springmvc-servlet.xml

    springmvc-servlet.xml 与上一步中的springmvc对应

    <servlet-name>springmvc</servlet-name>

    这是Spring MVC的 映射配置文件

    表示访问路径/index会交给id=indexController的bean处理

    id=indexController的bean配置为类:IndexController

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
        <bean id="simpleUrlHandlerMapping"
            class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
            <property name="mappings">
                <props>
                    <prop key="/index">indexController</prop>
                </props>
            </property>
        </bean>
        <bean id="indexController" class="controller.IndexController"></bean>
    </beans>

    3、创建IndexController

    控制类 IndexController实现接口Controller ,提供方法handleRequest处理请求

    SpringMVC通过 ModelAndView 对象把模型和视图结合在一起

    ModelAndView mav = new ModelAndView("index.jsp");
    mav.addObject("message", "Hello Spring MVC");

    表示视图是index.jsp

    模型数据是 message,内容是 “Hello Spring MVC”

    package controller;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
     
    public class IndexController implements Controller {
        public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
            ModelAndView mav = new ModelAndView("index.jsp");
            mav.addObject("message", "Hello Spring MVC");
            return mav;
        }
    }

    4、创建视图index.jsp

    在WebContent目录下创建index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" isELIgnored="false"%>
     
    <h1>${message}</h1>

    原理图

    1. 用户访问 /index
    2. 根据web.xml中的配置 所有的访问都会经过DispatcherServlet
    3. 根据 根据配置文件springmvc-servlet.xml ,访问路径/index
    会进入IndexController类
    4. 在IndexController中指定跳转到页面index.jsp,并传递message数据
    5. 在index.jsp中显示message信息

    二、视图重定向配置

    1、创建web.xml

    在WEB-INF目录下创建 web.xml

    配置Spring MVC的入口 DispatcherServlet,把所有的请求都提交到该Servlet

    注意:<init-param>标签

    在<servlet>中配置contextConfigLocation参数,根据参数值<param-value>来定位springMVC的 映射配置文件

      <servlet>
        <servlet-name>SpringDispatcherServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath*:spring-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>SpringDispatcherServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>

    2、创建spring-servlet.xml

    在Java Resources的resource目录下创建spring-serlvet.xml

    spring-servlet.xml与上一步中的

    <param-value>classpath*:spring-servlet.xml</param-value>

    相对应;

    这是Spring MVC的 映射配置文件

    去掉映射相关的配置,因为已经使用注解方式了

    增加 <context:component-scan base-package="controller" /> 

    表示从包controller下扫描有@Controller注解的类

    <!--表示从包com.insigma.controller下扫描有@Controller注解的类-->
    <context:component-scan base-package="com.insigma.controller" />
    
    <!--- 视图定位 ---前缀+ viewName +后缀 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <!-- webroot到某一指定的文件夹的路径 -->
       <property name="prefix" value="/WEB-INF/view/"></property>
       <!-- 视图名称的后缀 -->
       <property name="suffix" value=".jsp"></property>
    </bean>

    增加视图定位配置,其作用是把视图约定在 /WEB-INF/page/*.jsp 这个位置

    3、创建controller类

    在类前面加上@Controller 表示该类是一个控制器

    在方法handleRequest 前面加上 @RequestMapping("/index") 表示路径/index会映射到该方法上

    注意:不再让IndexController实现Controller接口

    @Controller
    public class IndexController {
        @RequestMapping("/index")
        public String handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
            request.setAttribute("info", "Hello Spring MVC");
            return "index";
        }
    }

    4、创建视图

    在WebContent/WEB-INF/view/目录下创建index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8" isELIgnored="false"%>
     
    <h1>${info}</h1>

     

  • 相关阅读:
    Linux_WEB访问控制示例(使用IPADDR类型)
    基于多IP地址Web服务
    基于多端口的Web服务
    基于多主机的Web服务
    Linux_WEB服务基础概念
    Linux_配置认证访问FTP服务
    Linux_配置匿名访问FTP服务
    Linux_部署日志服务器
    Linux_日志管理理论概述
    微信小程序 radio 单选框
  • 原文地址:https://www.cnblogs.com/rozen-lin/p/14293030.html
Copyright © 2011-2022 走看看