zoukankan      html  css  js  c++  java
  • SpringMVC的基础配置及视图定位

    概要

    记录一下搭建SpringMVC框架的步骤

    视图定位也就是改变jsp在项目中的路径

    一、新建javaweb项目springmvc1,在lib中导入jar包

    此项目上传了GitHub,方便去下载jar包

    https://github.com/yeyangtao/springmvc

    二、web-inf下的web.xml文件

    其中的serve-name的spingmvc下一步会用到

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.4">
      <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>

    三、在同路径下创建springmvc-servlet.xml

    文件名中的springmvc就对应上一步的servlet-name中的springmvc

    <?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="/hello">indexController</prop>
                </props>
            </property>
        </bean>
        <bean id="indexController" class="controller.IndexController"></bean>
    </beans>

    /hello 指定待会浏览器上输入的路径

    四、在src中新建IndexController类实现Controller接口

    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;
        }
    }

    ModelAndView中的Model代表模型,View代表视图,这个名字就很好地解释了该类的作用。业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,然后让该ModelAndView返回该Spring MVC框架。框架通过调用配置文件中定义的视图解析器,对该对象进行解析,最后把结果数据显示在指定的页面上(index.jsp)。

    五、index.jsp用来显示

    采用el表达式 ${message}

    六、部署到tommcat上测试

    浏览器输入http://localhost:8080/springmvc1/hello

    结果:

     七、视图定位

    问题:jsp文件是在WebContent文件夹下,现在如果要修改jsp文件存放的位置该怎么修改?

    1、修改springmvc-servlet.xml,增加

        </bean>
        <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="prefix" value="/WEB-INF/page/" />
       <property name="suffix" value=".jsp" />
    </bean>

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

    2、把控制类中ModelAndView mav = new ModelAndView("index.jsp");

    改成ModelAndView mav = new ModelAndView("index");

    因为配置文件中已经指明了jsp后缀

    3、在web-inf中新建page文件夹,并将index.jsp移到此处

    4、重启tomcat

    好处:更利于管理和维护

  • 相关阅读:
    os.remove some jpgs
    shutil.rmtree, os.path, delete sub-folders, format
    How to create folder
    valgrind
    gstream
    TP TN FP FN
    tensor flow
    接口中静态方法和默认方法
    JAVA基础09
    JAVA基础08
  • 原文地址:https://www.cnblogs.com/yeyangtao/p/10875830.html
Copyright © 2011-2022 走看看