zoukankan      html  css  js  c++  java
  • springmvc01

    1,环境搭建:

        将 spring-framework-3.1.1.RELEASE-with-docsspring-framework-3.1.1.RELEASEdist 下的所有jar导入,再导入commons-logging-1.1.3.jar 导入 即可

    2, 整体架构

       

    3, 第一个springmvc程序

        1) web.xml

    <?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/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>springmvc</display-name>
    
        <!-- 1,配置springmvc -->
        <servlet>
            <!-- 这个servlet的name值是hello,必须有一个对应的hello-servlet.xml文件在WEB-INF下  -->
            <servlet-name>hello</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <!--  这个url一定要是 / -->
            <servlet-name>hello</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
        
        
    </web-app>

      2) /WEB-INF/hello-servlet.xml

    <?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:mvc="http://www.springframework.org/schema/mvc"
        xmlns:context="http://www.springframework.org/schema/context"
       
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans 
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/mvc
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
            http://www.springframework.org/schema/context 
            http://www.springframework.org/schema/context/spring-context-3.0.xsd">
    
        <!--  使用annotation配置控制器 -->
        <context:component-scan base-package="com.yangw.springmvc.controller" />
        <mvc:annotation-driven/>
        
        
        <!-- 完成视图的对应 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="WEB-INF/jsp/" />
            <property name="suffix" value=".jsp" />
        </bean>
    </beans>

      3)WelcomeController类

    package com.yangw.springmvc.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class WelcomeController{
    
        //@RequestMapping表示 用哪个url对应
        @RequestMapping(value={"/","/welcome"})
        public String welcome(){
            System.out.println("welcome");
            return "welcome"; //返回的逻辑视图
        }
    
    }

      4) WEB-INF/jsp/welcome.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
    <!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=utf-8">
    <title>Insert title here</title>
    </head>
    <body>
      welcome jsp
    </body>
    </html>

    4, 请求传递参数给controller

    package com.yangw.springmvc.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    
    @Controller
    public class WelcomeController{
    
        //@RequestMapping表示 用哪个url对应
        @RequestMapping(value={"/","/welcome"})
        
        //请求传递过来的值如果一定存在,即必不可少的话,使用@RequestParam(value="paramname")
        //如果参数有可能存在,有可能不存在,就不需要注解,直接使用参数
        public String welcome(@RequestParam(value="hello") String hello,String world){
            System.out.println(hello);
            System.out.println(world);
            System.out.println("welcome");
            return "welcome"; //返回的逻辑视图
        }
    
    }

      下面三种传递参数的情形,对应不同的结果

     5, controller传递参数给view

    package com.yangw.springmvc.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class WelcomeController{ //springmvc使用Model来view传值,也可以使用Map替代Model @RequestMapping(value="/hello") public String hello(Model model){ model.addAttribute("hello", "hehe"); //也可以使用model.addAttribute(Object obj);,此时对象的key默认就是对象类型 //这种简化的情形适合 自定义类型,比如一个User对象 model.addAttribute("nihao"); return "welcome"; //返回的逻辑视图 } }

      WEB-INF/jsp/welcome.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
    <!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=utf-8">
    <title>Insert title here</title>
    </head>
    <body>
     <h3>welcome to springmvc</h3><br/>
    
     <!--  在界面上使用${key}获取controller传递过来的值 -->
     <h3>${hello } --获取的是model.addAttribute("hello", "hehe");设置的值</h3><br/>
     <h3>${string } --获取的是model.addAttribute("nihao");设置的值</h3>
    </body>
    </html>

    ----------- 赠人玫瑰,手有余香     如果本文对您有所帮助,动动手指扫一扫哟   么么哒 -----------


    未经作者 https://www.cnblogs.com/xin1006/ 梦相随1006 同意,不得擅自转载本文,否则后果自负
  • 相关阅读:
    【现代程序设计】【Homework01】
    Apache 关于 mod_rewrite 遇到 %2F或%5C (正反斜杠)等特殊符号导致URL重写失效出现404的问题
    PHP 使用CURL库IP欺骗,隐藏真实客户端IP
    php客服聊天回话系统,长连接加ajax轮询实现
    Which PHP version do I choose
    批量操作,向后台传数组
    angularjs的directive详解
    table中表头不动,表体产生滚动条
    3263232
    forEach、for+i、map的用法及区别
  • 原文地址:https://www.cnblogs.com/xin1006/p/3430548.html
Copyright © 2011-2022 走看看