IDEA+Maven+Spring MVC HelloWorld示例

用Maven创建Web项目

选择webapp模板

创建成功后点Enable Auto-Import

idea给我们创建出来的结构是这样的,这还不标准,需要自己修改。

在main文件夹下创建java文件夹,这是放置源码的地方,标记为sources。创建resources文件夹且标记为resource。

初始结构如下。

配置Spring

pom.xml的配置

在<dependecies>与</dependecies>之间插入以下代码,添加依赖包。

 <dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
</dependency>

<!-- Servlet Library -->
<!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>3.1.0</version>
  <scope>provided</scope>
</dependency>

<!-- Spring dependencies -->
<!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
  <version>4.1.4.RELEASE</version>
</dependency>

<!-- http://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-web</artifactId>
  <version>4.1.4.RELEASE</version>
</dependency>

<!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>4.1.4.RELEASE</version>
</dependency>

配置web.xml

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     id="WebApp_ID" version="3.0">
<display-name>HelloWorldSpring</display-name>

  <servlet>
    <servlet-name>spring-mvc</servlet-name>
    <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>spring-mvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!-- Other XML Configuration -->
  <!-- Load by Spring ContextLoaderListener -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/root-context.xml</param-value>
  </context-param>

  <!-- Spring ContextLoaderListener -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

</web-app>

Spring MVC的 DispatcherServlet 将根据默认原则读取XML配置文件: 在/WEB-INF文件夹下搜寻{servlet-name}-servlet.xml,在这里则是 spring-mvc-servlet.xml

接下来,标记指示哪些URL将由DispatcherServlet处理。 这里所有为/的HTTP请求都将由spring-mvc DispatcherServlet处理。

在Spring应用程序 ContextLoaderListener 将读取其他 XML 配置文件(如下的 abc.xml 和 root-context.xml 两个文件)。 可能不需要配置 ContextLoaderListener,如果你的应用程序并不需要读取其他XML配置文件。

<!-- web.xml -->
<!-- Spring ContextLoaderListener -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<!-- Load by Spring ContextLoaderListener -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
       /WEB-INF/root-context.xml,
       /WEB-INF/abc.xml
 </param-value>
</context-param>

下面添加了一个root-context.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"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans.xsd">

<!-- Empty -->

</beans>

配置spring-mvc-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:p="http://www.springframework.org/schema/p"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:mvc="http://www.springframework.org/schema/mvc"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
  http://www.springframework.org/schema/context
  http://www.springframework.org/schema/context/spring-context-4.1.xsd
  http://www.springframework.org/schema/mvc
  http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">

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

<context:annotation-config/>

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix">
        <value>/WEB-INF/jsp/</value>
    </property>

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

</beans>

[servlet-name]-servlet.xml文件将用于创建定义的bean,它会覆盖在全局范围中使用相同名称定义的任何bean的定义。

<context:component-scan ...>标签将用于激活Spring MVC注释扫描功能,允许使用@Controller和@RequestMapping等注释。

InternalResourceViewResolver将定义用于解析视图名称的规则。根据上面定义的规则,hello的逻辑视图将委托给位于/WEB-INF/jsp/hello.jsp这个视图来实现。

创建控制器Controller

在java文件夹下创建包com.fang.controller,用于放置controller。
创建HelloWorldController类

package com.fang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloWorldController {
    @RequestMapping("/hello")
    public String hello(Model model){
        model.addAttribute("greeting","Hello Spring MVC");
        return "helloworld";
    }
}

value属性指示处理程序方法映射到的URL。

定义的服务方法可以返回一个String,它包含要用于渲染模型的视图的名称。此示例将“helloworld”返回为逻辑视图名称。

创建jsp视图

在WEB-INF文件夹下创建jsp文件夹,然后创建helloworld.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>Spring4 MVC -HelloWorld</title>
</head>
<body>
<h1>${greeting}</h1>
</body>
</html>

这里${greeting}是在Controller中设置的属性。可以在视图中显示多个属性。

部署tomcat server服务

点击工具栏的run->edit configurations

点击+号,选择tomcat-local

部署tomcat,选择war结尾的那个


完成后左下角会出现这个

点击绿色小箭头就运行了

运行结果

DispatcherServlet拦截解析请求,发现是/hello,转到HelloWorldController下的hello方法中->helloworld 将请求转发到/WEB-INF/jsp/helloworld.jsp界面

项目最终结构图

应用程序的流程

现在来看看程序的运行流程吧!这很重要!

参考

Spring4 MVC HelloWord实例

Spring MVC概述

原文地址:https://www.cnblogs.com/fht-litost/p/9873936.html

时间: 2024-10-11 18:20:10

IDEA+Maven+Spring MVC HelloWorld示例的相关文章

spring MVC入门示例(hello world demo)

1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框 架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的. Spring Web MVC也是服务到工作者模式的实现,但进行可优化.前端控制器是DispatcherServlet:应用控制器其实拆为处理器映射器(Handler M

maven Spring MVC项目

IntelliJ IDEA上创建maven Spring MVC项目 各软件版本 利用maven骨架建立一个webapp 建立相应的目录 配置Maven和SpringMVC 配置Maven的pom.xml 配置web.xml 配置contextConfigLocation文件 配置log4j.properties controller和view的编写 servlet容器的配置和运行 配置本地的tomcat服务器 配置maven插件 运行第一个Spring MVC应用 目前java开发主流的IDE

Spring MVC 入门示例讲解

MVC框架是什么 Dispatcher Servlet(Spring控制器) Spring入门示例 运行时依赖库 web.xml和spring-servlet.xml文件配置 请求控制器EmployeeController.java 视图模型EmployeeVO.java Dao类 业务层类 视图employeeListDisplay.jsp MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图及控制器在应用程序中的角色将业务

Spring MVC HelloWorld

我使用Maven + Idea 开始了Spring MVC的学习之路,Hello World教程参照:http://www.programcreek.com/2014/02/spring-mvc-helloworld-using-maven-in-eclipse/ 1 首先使用Maven脚手架生成一个基于maven 的web 框架 在命令行使用命令生成项目结构框架: mvn archetype:generate -DgroupId=com.mmj.app -DartifactId=hellowo

Spring MVC详细示例实战教程【转】

一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--configure the setting of springmvcDispatcherServlet and configure the mapping--> <servlet>     <servlet-name>

Spring MVC 完整示例

在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简化它的配置. MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图及控制器在应用程序中的角色将业务逻辑从界面中解耦.通常,模型负责封装应用程序数据在视图层展示.视图仅仅只是展示这些数据,不包含任何业务逻辑.控制器负责接收来自用户的

eclipse下创建maven spring MVC 项目

一.创建maven项目 1.创建准备工作  -eclipse (本人使用的是Neon.3 Release (4.6.3)版本,此版本用使用jdk 1.8)  -jdk1.8.0_101  -maven-3.5.0  上面这些不要求一样,其他版本大致也是一样的. 首先安装maven,在eclipse上配置好User Setting,如下: 2.选择File→new→other→Maven→Maven Project,这里我们选择创建maven项目 第一步选择完maven project后,我们选择

环境配置——IDEA搭建maven+spring mvc开发环境

1. 新建工程,选择maven项目,选择如下图选项,next 2. 填写groupId和artifactId,这是maven为了确定项目在maven仓库中的唯一性而设置的.groupId一般写域名.公司名,artifactId则是项目名. 3.选择maven配置文件地址,可以选择自己下载的maven,然后自定义配置文件中的仓库地址,就不用所有东西都堆在C盘了.以及将远程仓库地址改为阿里云仓库,这样下载速度会快一些. 4.然后一路next,就可以完成maven工程的构建了.接下来配置spring

Spring MVC helloWorld中遇到的问题及解决办法

1.java.io.FileNotFoundException: Could not open ServletContext resource不能加载ServletContext的用法是配置到web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=&quo