【spring MVC学习二】springMVC简单使用

springmvc都是通过其中央控制器DispatcherServlet来进行转发的,所以在web.xml文件里面需要增加相应的配置


1

2

3

4

5

6

7

8

9

10

11

12

13

<servlet>

        <servlet-name>springServlet</servlet-name>

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

        <init-param>

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

            <param-value>/WEB-INF/spring-mvc.xml</param-value>

        </init-param>

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

    </servlet>

    <servlet-mapping>

        <servlet-name>springServlet</servlet-name>

        <url-pattern>/</url-pattern>

    </servlet-mapping>

如果没有配置contextConfigLocation,Spring mvc默认配置文件为“/WEB-INF/[servlet名字]-servlet.xml“即“/WEB-INF/springServlet-servlet.xml“

一、简单的controller配置

springServlet-servlet.xml配置文件如下


1

2

3

4

5

6

7

8

9

10

11

12

13

<<span></span>!-- HandlerMapping -->

    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

      

    <!-- HandlerAdapter -->

    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

     

    <!-- ViewResolver -->

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

        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>

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

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

    </bean>

    <bean name="/hello" class="dk.web.controller.HelloWorldController"></bean></beans>

HelloWorldController


1

2

3

4

5

6

7

8

9

10

11

12

13

14

public class HelloWorldController implements Controller {

    public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {

           //1、收集参数、验证参数

           //2、绑定参数到命令对象

           //3、将命令对象传入业务对象进行业务处理

           //4、选择下一个页面

           ModelAndView mv = new ModelAndView();

           //添加模型数据 可以是任意的POJO对象

           mv.addObject("message", "Hello World,spring mvc");

           //设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面

           mv.setViewName("hello");

           return mv;

        }

}

/WEB-INF/view/hello.jsp


1

2

3

4

5

6

7

8

9

10

11

12

<%@ 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>Hello World</title>

    </head>

    <body>

        ${message}

    </body>

</html>

在web容器里面部署及运行你的工程,在浏览器里面访问 ip:port/hello 即可在页面看到 Hello World,spring mvc

二、基于注解anotation的controller配置

Spring2.5 引入注解式处理器支持,通过@Controller 和@RequestMapping注解定义我们的处理器类。并且提供了一组强大的注解:需要通过处理器映射DefaultAnnotationHandlerMapping和处理器适配器AnnotationMethodHandlerAdapter来开启支持@Controller 和 @RequestMapping 注解的处理器。
@Controller:用于标识是处理器类;
@RequestMapping:请求到处理器功能方法的映射规则。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

<beans>

<!-- HandlerMapping -->

    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>

      

    <!-- HandlerAdapter -->

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

     

    <!-- ViewResolver -->

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

        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>

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

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

    </bean>

</beans>

PS:spring3.2版本后 DefaultAnnotationHandlerMapping由RequestMappingHandlerMapping取代;AnnotationMethodHandlerAdapter由RequestMappingHandlerAdapter取代

HelloWorldController


1

2

3

4

5

6

7

8

9

10

@Controller

public class HelloWorldController {

    @RequestMapping(value="/helloAnotation",method=RequestMethod.GET)

    public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp){

           ModelAndView mv = new ModelAndView();

           mv.addObject("message", "Hello World,spring anotation");

           mv.setViewName("hello");

           return mv;

        }

}

在web容器里面部署及运行你的工程,在浏览器里面访问 ip:port/helloAnotation即可在页面看到 Hello World,spring anotation

时间: 2024-10-27 07:31:48

【spring MVC学习二】springMVC简单使用的相关文章

Spring MVC 学习总结(九)——Spring MVC实现RESTful与JSON(Spring MVC为前端提供服务)

 很多时候前端都需要调用后台服务实现交互功能,常见的数据交换格式多是JSON或XML,这里主要讲解Spring MVC为前端提供JSON格式的数据并实现与前台交互.RESTful则是一种软件架构风格.设计风格,而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制. 一.JSON 1.1.概要 JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式

[Spring MVC]-详解SpringMVC的各种参数绑定方式_java

SpringMVC的各种参数绑定方式 1. 基本数据类型(以int为例,其他类似): Controller代码: @RequestMapping("saysth.do") public void test(int count) { } 表单代码: <form action="saysth.do" method="post"> <input name="count" value="10" t

《Spring MVC学习指南(第2版)》——2.7 小结

2.7 小结 在本章中,我们学习了基于MVC模式的模型2架构以及如何基于servlet控制器或者filter分发器开发一个模型2应用.两个示例分别为appdesign1和appdesign2.使用servlet作为过滤器上的控制器,一个明显的优点是你可以将servlet配置为欢迎页面. 在模型2应用程序中,JSP页面通常用做视图,当然也可以使用其他技术,如Apache Velocity和FreeMarker. 如果JSP页面用做模型2体系结构中的视图,那些页面仅用于显示值,并且不应在其中显示脚本

Spring MVC学习笔记之Hello World

1.建立WEB项目Spring MVC 2.引入jar包:             commons-logging-1.1.1             spring-aop-4.2.5.RELEASE.jar             spring-beans-4.0.0.RELEASE.jar             spring-context-4.0.0.RELEASE.jar             spring-core-4.0.0.RELEASE.jar             spr

《Spring MVC学习指南(第2版)》——第1章 Spring框架 1.1XML配置文件

第1章 Spring框架 Spring框架是一个开源的企业应用开发框架,作为一个轻量级的解决方案,它包含20多个不同的模块.本书主要关注Core.Spring Bean.Spring MVC和Spring MVC Test模块. 本章主要介绍Core和Spring Bean这两个模块,以及它们如何提供依赖注入解决方案.为方便初学者,本书会深入讨论依赖注入概念的细节.后续介绍开发MVC应用的章节将会使用到本章介绍的技能. 依赖注入 简单来说,依赖注入的情况如下. 有两个组件A和B,A依赖于B.假定

《Spring MVC学习指南(第2版)》——导读

前言 Spring MVC是Spring框架中用于Web应用快速开发的一个模块.Spring MVC的MVC是Model-View-Controller的缩写.它是一个广泛应用于图形化用户交互开发中的设计模式,不仅常见于Web开发,也广泛应用于如Swing和JavaFX等桌面开发. 作为当今业界最主流的Web开发框架,Spring MVC(有时也称Spring Web MVC)的开发技能相当热门.本书可供想要学习如何通过Spring MVC开发基于Java的Web应用的开发人员阅读. HTTP使

《Spring MVC学习指南(第2版)》——第2章 模型2和MVC模式 2.1模型1介绍

第2章 模型2和MVC模式 Java Web应用开发中有两种设计模型,为了方便,分别称为模型1和模型2.模型1是以页面中心,适合于小应用开发.而模型2基于MVC模式,是Java Web应用的推荐架构(简单类型的应用除外). 本章将会讨论模型2,并展示4个不同示例应用.第一个应用是一个基本的模型2应用,采用Servlet作为控制器:第二个应用也是模型2应用,但采用了Filter作为控制器:第三个应用引入了验证控件来校验用户的输入:最后一个应用则采用了一个自研的依赖注入器.在实践中,应替换为Spri

《Spring MVC学习指南(第2版)》——1.2 Spring控制反转容器的使用

1.2 Spring控制反转容器的使用 本节主要介绍Spring如何管理bean和依赖关系.1.2.1 通过构造器创建一个bean实例 前面已经介绍,通过调用ApplicationContext的getBean方法可以获取一个bean的实例.下面的配置文件中定义了一个名为product的bean(见清单1.1). 清单1.1 一个简单的配置文件 < ?xml version="1.0" encoding="UTF-8"?> < beans xmln

《Spring MVC学习指南(第2版)》——2.6 依赖注入

2.6 依赖注入 在过去数年间,依赖注入技术作为代码可测试性的一个解决方案已经广泛应用.实际上,Spring.Struts2等伟大框架都采用了依赖注入技术.那么,什么是依赖注入技术? 有两个组件A和B,A依赖于B.假定A是一个类,且A有一个方法importantMethod使用到了B,如下: public class A { public void importantMethod() { B b = ... // get an instance of B b.usefulMethod(); ..