zoukankan      html  css  js  c++  java
  • 05_ssm基础(六)之SpringMVC

    36.springMVC之入门

      1.springMVC简介

      Spring MVC是基于MVC模式的一个Web框架,它解决WEB开发中常见的问题(参数接收、文件上传、表单验证、国际化、等等),而且使用简单,与spring无缝集成。
    目前很多公司都采用Spring MVC,招聘要求需要熟悉Spring MVC。

      2.简单入门

      基于MVC模式的一个Web框架,JavaWeb中所有Mvc框架都有一个特点,都具有一个核心控制器;
    所有请求都经过核心控制器,然后由这个核心控制器完成公共功能(参数接收,类型转换,文件上传,文件下载);
    Struts2   StrutsPrepareAndExecuteFilter (Filter)(之后会讲)
    SpringMvc DispatcherServlet             (Servlet)


      具体完成步骤:

    1.加入springmvc相关jar包
          spring核心包;
                com.springsource.org.apache.commons.logging-1.1.1.jar
                spring-beans-3.2.0.RELEASE.jar
                spring-context-3.2.0.RELEASE.jar
                spring-core-3.2.0.RELEASE.jar
                spring-expression-3.2.0.RELEASE.jar
          springmvc核心包;
                spring-web-3.2.0.RELEASE.jar      spring 对web项目的支持。
                spring-webmvc-3.2.0.RELEASE.jar   spring mvc核心包。

    2.编写springmvc中控制器(controller,handler请求处理器)
          控制器实现方式:  
                实现Controller接口        xml配置
                普通POJO;                 注解配置

     1 package com.day03.ssm.springMVC.controller;
     2 
     3 
     4 import org.springframework.web.servlet.ModelAndView;
     5 import org.springframework.web.servlet.mvc.Controller;
     6 
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 /**
    11  * 课程笔记:http://www.cnblogs.com/newAndHui/category/1153640.html
    12  * 疑问咨询wx:851298348
    13  */
    14 public class HelloController implements Controller {
    15 
    16     @Override
    17     public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
    18 
    19         ModelAndView modelAndView = new ModelAndView();
    20         modelAndView.setViewName("/WEB-INF/views/Hi.jsp");
    21         modelAndView.addObject("msg","wuji");
    22         return modelAndView;
    23     }
    24 }
    HelloController

    3.加入springmvc的配置文件

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4        xmlns:context="http://www.springframework.org/schema/context"
     5        xsi:schemaLocation="http://www.springframework.org/schema/beans
     6         http://www.springframework.org/schema/beans/spring-beans.xsd
     7          http://www.springframework.org/schema/context
     8           http://www.springframework.org/schema/context/spring-context.xsd">
     9 
    10      <bean id="/hi.do" class="com.day03.ssm.springMVC.controller.HelloController">
    11 
    12      </bean>
    13 </beans>
    View Code

    4.web.xml配置springmvc的核心控制器

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     5          version="3.1">
     6     <servlet>
     7         <servlet-name>dispatcherServlet</servlet-name>
     8         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     9         <init-param>
    10             <param-name>contextConfigLocation</param-name>
    11             <param-value>classpath:spring-config.xml</param-value>
    12         </init-param>
    13     </servlet>
    14     <servlet-mapping>
    15         <servlet-name>dispatcherServlet</servlet-name>
    16         <url-pattern>*.do</url-pattern>
    17     </servlet-mapping>
    18 </web-app>
    web.xml

    5.启动web项目并访问

    37.springMVC注解使用

    1.在那需要被spring容器管理的bean上添加标签
    //spring对不同bean,定义了不同注解;
    //注解名不同,但是功能都一样,都让spring容器管理这些bean;
    //如果使用了springmvc那么@Controller对应bean就是一个控制器;
    //@Repository("beanName")  持久层 Dao;
    //@Service("beanName")     业务层 Service;
    //@Controller("beanName")  表现层 Controller
    //@Component("beanName")   其他组件 otherClass
    2.<!-- 配置需要管理bean对应的包(本包,子包下面都扫描),spring会扫描那些有Repository,Service,Controller,Component标签,进行管理 -->
            <context:component-scan base-package="com.spring.day01.controller" />
    3.使用注解方式配置控制器
      @Controller(类身上)  //spring需要管理这个bean,并且这个bean是一个控制器
      @RequestMapping("/path") //如果在方法,执行控制器方法的请求路径;
      @RequestMapping("/path") //如果写在类上面,那么就代表访问该控制器方法时,需要加的前缀;

    springmvc中常用注解:
       @Controller       位置:类   解释:控制器
       @RequestMapping   位置:类   解释:访问该控制器中的方法,需要添加前缀, 以"/"打头;
       @RequestMapping   位置:方法 解释:访问该控制器中的方法的地址, 以"/"打头;
        *  value : 请求路径 ;
            *  produces : 返回数据内容类型与@ResponseBody配合使用;
            *  method : 该方法值只能某些接受请求方式 ,不写就是支持所有(GET,POST);
            *  params : 请求该方法必须要传入参数;
       @ResponseBody     位置:方法 解释:响应内容为方法的返回值;
                                          如果返回只为void,就是没有响应内容;
                                          如果返回是一个对象,并且加入jackson.jar,那么会自动把对象转换为json数据,进行响应

    注解使用步骤:

      1.必须在配置文件中开启注解

      

      2.在控制层贴标签

      

      完成!

  • 相关阅读:
    mongodb的CRUD操作三
    mongodb的CRUD操作二查询
    mongodb的CRUD操作一
    python 全栈Day01 安装python
    sqlalchemy 无法显示中文的问题
    2017python学习的第九天,进程,线程协程
    2017python学习的第八天,socket的使用
    2017python学习的第七天,面向对象编程
    2017python学习的第六天,面向对象
    创建证书
  • 原文地址:https://www.cnblogs.com/newAndHui/p/9068458.html
Copyright © 2011-2022 走看看