Spring MVC 编程基础

Spring MVC 编程基础

Spring MVC 编程基本步骤

Step01:创建maven web 项目并解决项目中的错误问题

Step02:添加Spring MVC项目核心依赖

Step03:配置Spring MVC项目核心组件

Step04:创建Spring MVC 后端控制器及页面

Step05:部署及测试spring mvc 项目应用。

 

2 Spring MVC 编程基础实现(重点)

2.1 创建Maven WEB 项目并添加Spring MVC 依赖(搭建环境)

Step01:创建maven web项目

Step02:配置maven web项目

1) 生成web.xml(项目视图)

 

2) Web项目的target runtimestomcat(tomcat版本为7.0)

3)Web 项目的编译版本为JDK1.8

Step03 添加Spring MVC项目依赖

<dependencies>

<dependency>

  <groupId>org.springframework</groupId>

  <artifactId>spring-webmvc</artifactId>

  <version>4.3.9.RELEASE</version>

</dependencies>

</dependency>

 

2.2 添加Spring MVC配置文件并进行基本配置

在项目的resources的目录中添加核心配置文件(例如spring-configs.xml)并进行基本配置 

<?xml version="1.0" encoding="UTF-8"?> 

<beans default-lazy-init="true"

    xmlns="http://www.springframework.org/schema/beans" 

    xmlns:p="http://www.springframework.org/schema/p" 

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

    xmlns:context="http://www.springframework.org/schema/context" 

    xmlns:tx="http://www.springframework.org/schema/tx" 

    xmlns:aop="http://www.springframework.org/schema/aop" 

    xmlns:mvc="http://www.springframework.org/schema/mvc" 

    xmlns:util="http://www.springframework.org/schema/util"

    xmlns:jpa="http://www.springframework.org/schema/data/jpa"

    xsi:schemaLocation="  

       http://www.springframework.org/schema/beans   

       http://www.springframework.org/schema/beans/spring-beans-4.3.xsd   

       http://www.springframework.org/schema/mvc   

       http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd   

       http://www.springframework.org/schema/tx   

       http://www.springframework.org/schema/tx/spring-tx-4.3.xsd   

       http://www.springframework.org/schema/aop

       http://www.springframework.org/schema/aop/spring-aop-4.3.xsd

       http://www.springframework.org/schema/util

       http://www.springframework.org/schema/util/spring-util-4.3.xsd

       http://www.springframework.org/schema/data/jpa

       http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsd

       http://www.springframework.org/schema/context

       http://www.springframework.org/schema/context/spring-context-4.3.xsd" >

<!--配置组件扫描 -->

<context:component-scan base-package="com.jt"/>

<!—启用MVC默认配置 (@RequestMapping) -->

<mvc:annotation-driven/ 

<!-- 配置视图解析器 -->

<bean  id="viewResolver"   class="org.springframework.web.servlet.view.InternalResourceViewResolver">

     <property name="prefix" value="/WEB-INF/pages/"/>

     <property name="suffix" value=".jsp"/> 

</bean>      

</beans>

说明:配置文件的名字可以自己指定。

 

2.3. 配置Spring MVC前端控制器(入口)

打开web.xml,配置DispatcherServlet对象,本质上就是一个Servlet对象

<servlet>

     <servlet-name>dispatcherServlet</servlet-name>

     <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> 

     <init-param> 

        <param-name>contextConfigLocation</param-name> 

        <param-value>classpath:spring-configs.xml</param-value> 

     </init-param>

     <load-on-startup>1</load-on-startup> 

  </servlet> 

  <servlet-mapping> 

     <servlet-name>dispatcherServlet</servlet-name>

     <url-pattern>*.do</url-pattern> 

  </servlet-mapping>

前端控制器是spring mvc处理请求的入口,是springmvc的核心,这个控制器一般需要在服务器启动时即初始化。

其中

1) load-on-startup 表示启动时则加载此servlet,数字越小优先级越高.

2) init-param 中的参数名不能变(此名字在DispatcherServlet父类中定义)

 

2.4 创建并配置Spring MVC后端控制器

编写Spring MVC后端控制器

 

@Controller

@RequestMapping("/") 

public class HelloController{ 

  @RequestMapping("doSayHello")

  public ModelAndView doSayHello() {

    ModelAndView mv=new ModelAndView("hello"); 

    mv.addObject("message", "helloworld"); 

    return mv; 

  }

}

其中:

1)通过@RequestMapping注解定义urlcontroller具体方法的映射,这个映射信息会被存储,一般是存储到一个HandlerMapping对象中.

2ModelAndView对象为一个模型与视图对象,内置一个map对象,主要用于封装业务数据和视图名。

3ModelAndView构造方法中传递的为视图名,addObject方法可以以key/value形式存储数据。

4ModelAndView 对象返回时会被spring mvc自动存储到请求作用域,在对应的视图页面可以直接从此作用域获取对应的值。

 

2.5. 创建JSP页面对象

在项目的WEB-INF/pages文件夹下创建hello.jsp文件,然后设置其内容,例如

<body>

   <h1>${message}</h1> 

</body>

说明:WEB-INF目录下的资源不能允许通过浏览器地址栏直接访问。

 

2.6. 部署并运行项目以及请求响应流程分析

将项目部署到tomcat,然后启动运行,在地址栏输入具体url访问对应controller对象。

例如: http://localhost/CGB-SPRING-MVC-01/doSayHello.do

 

3 问题分析:

1) tomcat启动时出现ClassNotFoundException

或者NoClassDefFoundError这种异常或错误,而这个class又不是我们自己的类,此时要重新maven update,重新发布(右键tomcat 重新publish),多次尝试还是不可以,此时重启eclipse

2) 404异常,一般表示服务端资源没找到,首先检测访问路径是否正确,然后还可以在项目的部署目录中去查找对应的资源,必须确保资源是存在的,假如资源不存在,说明代码没有正常编译。(很常见)

3) 如何解决这种项目不编译的问题? 

step01) 停止tomcattomcat下的项目移除,并clean你的tomcat

 

posted @ 2018-09-28 18:48  我爱si搬砖  阅读(184)  评论(1)    收藏  举报