这是我博客上与Spring MVC相关的第一篇文章。 开端总是令人兴奋的,因此我将尽量简洁明了。 Spring MVC允许以最方便,直接和快速的方式创建Web应用程序。 开始使用这项技术意味着需要Spring CORE的知识。 在文章中,您将了解有关创建简单的Spring MVC Controller的信息。 我更喜欢基于Java的应用程序配置,因此示例将包含此方法。

主要目的是创建将处理请求的控制器。 因此,单击链接后,您将在Spring控制器的帮助下重定向到具体页面。

制备

在Eclipse中创建一个新的Dynamic Web Project,然后将其转换为Maven项目 。 验证您的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_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>SimpleController</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>

index.jsp将在应用程序中充当主页的角色,将其放置在src / main / webapp / index.jsp中 ; 这是index.jsp的代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
...
<h1>Home page</h1>
<p>This is a Home Page.</p>
...

结果,项目的结构将如下所示:

设置依赖

接下来,我需要将一些依赖项添加到pom.xml文件中。 我不再谈论依赖关系,下面将对代码进行注释:

<properties><spring.version>3.1.1.RELEASE</spring.version></properties><dependencies><!-- Spring --><dependency><groupid>org.springframework</groupid><artifactid>spring-context</artifactid><version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-webmvc</artifactid><version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-beans</artifactid><version>${spring.version}</version></dependency><dependency><groupid>org.springframework</groupid><artifactid>spring-web</artifactid><version>${spring.version}</version></dependency><!-- CGLIB is required to process @Configuration classes --><dependency><groupid>cglib</groupid><artifactid>cglib</artifactid><version>2.2.2</version></dependency><!-- Servlet API, JSTL --><dependency><groupid>javax.servlet</groupid><artifactid>javax.servlet-api</artifactid><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupid>jstl</groupid><artifactid>jstl</artifactid><version>1.2</version></dependency></dependencies>

您可以在官方博客上找到有关Spring依赖项的更多信息。

基于Java的配置

现在该为应用程序创建配置了。 正如我上面提到的,这种方法很方便,原因之一就是注释的使用。 首先,我将创建WebAppConfig类

package com.sprmvc.init;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.JstlView;
import org.springframework.web.servlet.view.UrlBasedViewResolver;@Configuration //Specifies the class as configuration
@ComponentScan('com.sprmvc') //Specifies which package to scan
@EnableWebMvc //Enables to use Spring's annotations in the code
public class WebAppConfig {@Beanpublic UrlBasedViewResolver setupViewResolver() {UrlBasedViewResolver resolver = new UrlBasedViewResolver();resolver.setPrefix('/WEB-INF/pages/');resolver.setSuffix('.jsp');resolver.setViewClass(JstlView.class);return resolver;}}

指出所有JSP的存储路径已完成。 为了使用其他可读的URL,这是必需的。

现在轮到初始化程序类了。

package com.sprmvc.init;import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration.Dynamic;import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;public class Initializer implements WebApplicationInitializer {@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();ctx.register(WebAppConfig.class);ctx.setServletContext(servletContext);    Dynamic servlet = servletContext.addServlet('dispatcher', new DispatcherServlet(ctx));servlet.addMapping('/');servlet.setLoadOnStartup(1);}}

注意,Initializer类实现了WebApplicationInitializer接口。 这是避免Web应用程序的XML配置所必需的。

控制器的JSP

在向您展示如何创建一个简单的控制器之前,我需要创建一个JSP文件,控制器将引导我们进入该文件。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>...<p>Hello world: ${message}</p><p>Well done!</p>
...

这是JSP文件的路径: src / main / webapp / WEB-INF / pages / hello.jsp
请注意,在WebAppConfig类中,我指定了诸如sufix和prefix之类的路径部分。

控制者

最后是LinkController类的代码

package com.sprmvc.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;@Controller
public class LinkController {@RequestMapping(value='/hello-page')public ModelAndView goToHelloPage() {ModelAndView view = new ModelAndView();view.setViewName('hello'); //name of the jsp-file in the 'page' folderString str = 'MVC Spring is here!';view.addObject('message', str); //adding of str object as 'message' parameterreturn view;}}

现在,您需要通过在其中添加指向Hello页面的链接来更新index.jsp文件:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>
...
<h1>Home page</h1>
<p>This is a Home Page.</p>
<p><a href="hello-page.html">Hello world link</a></p>
...

最终的项目结构为:

启动项目,打开index.jsp并单击链接,您将获得:

摘要

有时教程确实很有帮助,但是学习如何使用Spring的最好方法是阅读官方文档,因此我建议您在Spring博客上进行更深入的研究。

参考: Spring MVC:在Fruzenshtein的注释博客中,由我们的JCG合作伙伴 Alex Fruzenshtein 使用基于Java的配置创建了一个简单的Controller 。

翻译自: https://www.javacodegeeks.com/2013/03/spring-mvc-creation-of-a-simple-controller-with-java-based-config.html

Spring MVC:使用基于Java的配置创建一个简单的Controller相关推荐

  1. Spring MVC之基于java config无xml配置的web应用构建

    更多spring相关博文参考: spring.hhui.top 前一篇博文讲了SpringMVC+web.xml的方式创建web应用,用过SpringBoot的童鞋都知道,早就没有xml什么事情了,其 ...

  2. Spring:使基于Java的配置更加优雅

    大家好,我很久没有写新文章了. 积累了很多资料,需要在不久的将来在我的博客中发布. 但是现在我想谈谈Spring MVC应用程序配置. 确切地说,我想谈谈基于Java的Spring配置. 尽管在3.0 ...

  3. java 应用分模块_在Java 11中创建一个简单的模块化应用教程

    模块化编程使人们能够将代码组织成独立的,有凝聚力的模块,这些模块可以组合在一起以实现所需的功能. 本文摘自Nick Samoylov和Mohamed Sanaulla撰写的一本名为Java 11 Co ...

  4. 使用Spring 3.1和基于Java的配置构建RESTful Web服务,第2部分

    1.概述 本文介绍了如何在Spring中设置REST –控制器和HTTP响应代码,有效负载编组配置和内容协商. 2.在Spring了解REST Spring框架支持两种创建RESTful服务的方式: ...

  5. Spring MVC之基于xml配置的web应用构建

    2019独角兽企业重金招聘Python工程师标准>>> 更多spring博文参考: http://spring.hhui.top/ 直接用SpringBoot构建web应用可以说非常 ...

  6. spring java配置_Spring基于java的配置

    我们之前都了解过spring基于xml的配置,我们也可以通过配置类来完成基于xml的配置,我们会在下面以一个例子来讲述一下Spring基于java的配置. 首先第一步准备工作: 1)创建一个Dog类 ...

  7. spring java配置_Spring:使基于Java的配置更加优雅

    spring java配置 大家好,我很久没有写新文章了. 积累了很多资料,需要在不久的将来在我的博客中发布. 但是现在我想谈谈Spring MVC应用程序配置. 确切地说,我想谈谈基于Java的Sp ...

  8. java spring mvc 上传_Java Spring MVC 上传下载文件配置及controller方法详解

    下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...

  9. 视频教程-基础篇:Spring MVC快速开发-Java

    基础篇:Spring MVC快速开发 毕业于清华大学软件学院软件工程专业,曾在Accenture.IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构 ...

最新文章

  1. 深度学习--TensorFlow (2)单层感知器2 -- 实现多数据分类
  2. 2018-2019-1 20165202 20165210 20165214 实验一 开发环境的熟悉
  3. C#隐藏桌面图标和任务栏
  4. 怎么运行c语言_C语言 原来是这样调用硬件的
  5. 关于 Unity 版本升级后可能会引起偶发光照图错乱的问题
  6. Hadoop系列之五:MapReduce进阶(2)
  7. 雪城大学信息安全讲义 3.1 Set-UID 机制如何工作
  8. 求N个数的最大公倍数
  9. 含有bin的mysql_MySQL 5.7.18 release版安装指南(含有bin文件版本)
  10. java 配对问题_Java中的配对类是什么?
  11. 300本计算机编程的经典书籍下载
  12. 使用Shader进行UGUI的优化
  13. TX2入门(10)——TensorRT(1)(tx2端inference)
  14. kali渗透学习-windos缓存区缓冲区溢出漏洞实战
  15. 关于Android开发中如何使用dp表示长宽
  16. Android系统分区介绍
  17. OLAP、OLTP的介绍和比较
  18. python图像处理:PIL与Pillow区别
  19. 天极副总裁李大学谈网站创新
  20. 时空之轮Android手柄,时空之轮图文完整攻略(超时空之轮(ChronoTrigger)最详细攻略图文详解)...

热门文章

  1. jdbc java_Java中使用JDBC
  2. java 反射api_反射是最重要的Java API
  3. 网络研讨室_网络研讨会:Java 9的第一印象–构建可伸缩企业应用程序的新方法...
  4. 纪事本 乱码_纪事日记–可自定义的数据存储
  5. 在雅加达EE TCK中使用Arquillian的可能方法
  6. 只读副本和Spring Data第2部分:配置基础项目
  7. Java将列表转换为数组,反之亦然
  8. Java:使用Toxiproxy模拟各种连接问题
  9. 功能Java示例 第5部分–将I / O移到外部
  10. ejb 示例 2018_EJB钝化和激活示例