zoukankan      html  css  js  c++  java
  • SpringMVC基础 学习笔记(1) ---- SpringMVC简单使用

    SpringMVC4
                  jar:原有Spring的jar再加上
    Spring-context-support:支持UI模板,邮件服务,缓存cache
    Spring-webmvc:对mvc的实现
     
    基本步骤:
     
    1.创建class实现Controllor接口
    2.创建ModelAndView对象,向这个对象添加信息
    3.ModelAndView.setViewName();
    4.在WEB-INF下创建folder,folder放jsp文件
    5.setViewName填/WEN-INF/....
    6.注册Controller:src 下 springmvc.xml(任意)
    7.xml添加bean的约束
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="
            http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context.xsd">
     
    8.注册Controllor:
            <!--  限制mvc处理的请求为.do,必须斜杠开头 -->
            <bean id="/my.do" class="handlers.MyController"> </bean>
     
    9.注册中央调度器:web.xml中注册,它是一个servlet
      <servlet>
          <servlet-name>mvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>mvc</servlet-name>
          <url-pattern>*.do</url-pattern>
      </servlet-mapping>
    不能配置/*
     
    跳转到的JSP页面中用${message}可以显示Model.addObject()方法添加的数据
    //${requestScope.message}也能输出
     
    运行出FileNotFoundException:
    Could not open ServletContext resource [/WEB-INF/mvc-servlet.xml]
     
    因为默认到到WEB-INF下找servlet-name-servlet.xml配置文件;
     
    所以把配置文件改名并且放到WEB-INF下
     
    程序可以运行
     
     
    问题:文件名和文件位置固定(只能放在WEB-INF下的servlet-name-servlet.xml),不好
    解决:DispatcherServlet加载的SpringMVC配置文件,修改DispatcherServlret的属性(在父类中)
     
    修改contextConfigLocation属性,不是在<context-param>(ServletContext)里修改而是在servlet的<init-param>。
          <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:springmvc.xml</param-value>
          </init-param>
     
    重新启动,成功。
     
    问题:servlet是在初次访问(访问的时候还要先初始化个servlet)才由容器创建,使响应速度变慢
    解决 : <servlet>的load-on-startup标签:
    <load-on-startup>1</load-on-startup>          ---多个servlet的load-on-startup越小越优先,大于0的整数菜有意义
     
    问题mv.setViewName();里面资源的地址太长
    mv.setViewName有另一种写法 :视图解析器:相当于拼凑url
    1.创建bean(不用id)内部视图解析器,有两个属性:前缀和后缀:
     
            <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                <property name="prefix" value="/WEB-INF/anyfolder/"/>
                <property name="suffix" value=".jsp"/>
            </bean>
     
    直接运行程序,成功
     
    在这里
    mv.setViewName("welcome");
    welcome为逻辑视图名,拼接后为物理视图名
  • 相关阅读:
    html5游戏开发1Aptana 3 eclipse 插件安装
    HTML5 game Development Summary
    前端开发必备的工具
    前端优化方案
    JavaScript 事件冒泡简介及应用(转)
    标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)
    理解.NET中的异常(二)
    异常处理准则
    C#通讯编程
    C#读写文件总结
  • 原文地址:https://www.cnblogs.com/coderlynn/p/8948111.html
Copyright © 2011-2022 走看看