方法一、使用Sping MVC插件
1、使用插件之前要先查看软件是否安装了插件点击菜单栏File->Settings
点击右侧的Plugins 然后在输入框中输入spring mvc ,将搜索出来的结果打钩
2、新建项目
插件安装完成后,点击File->New->Project
选择右侧的Spring 在选择中间的Spring MVC
点击下一步,填写项目的名称
3、添加maven框架点击finish完成项目,完成项目之后右键项目添加maven框架
右侧选择maven 项目
完成之后的目录结构如下所示
4、添加项目依赖添加项目依赖,在pom.xml文件中添加以下信息<?xml version="1.0" encoding="UTF-8"?><modelVersion>4.0.0</modelVersion><groupId>org.py</groupId><artifactId>SpringMvcDemo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.7</source><target>1.7</target></configuration></plugin></plugins></build><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.1.6.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.1.6.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.1.6.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.1.6.RELEASE</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency></dependencies></project>
右键pom.xml文件选择maven->reimport注入依赖
5、配置配置文件打开web/WEB-INF/目录下的web.xml文件配置web.xml文件<?xml version="1.0" encoding="UTF-8"?>xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaeehttp://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd";version="3.1"><!-- 配置前端控制器 --><!--<servlet>--><!--<servlet-name>web-dispatcher</servlet-name>--><!--<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>--><!--<init-param>--><!--<param-name>contextConfigLocation</param-name>--><!--<param-value>classpath:spring-mvc.xml</param-value>--><!--</init-param>--><!--<load-on-startup>1</load-on-startup>--><!--</servlet>--><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--加载前端控制器配置文件 上下文配置位置--><init-param><!-- 备注:contextConfigLocation:指定 SpringMVC 配置的加载位置,如果不指定则默认加载WEB-INF/[DispatcherServlet 的 Servlet 名字]-servlet.xml--><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><!-- 表示随WEB服务器启动 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><!-- 备注:可以拦截三种请求第一种:拦截固定后缀的url,比如设置为 *.do、*.action, 例如:/user/add.action 此方法最简单,不会导致静态资源(jpg,js,css)被拦截第二种:拦截所有,设置为/,例如:/user/add /user/add.action此方法可以实现REST风格的url,很多互联网类型的应用使用这种方式.但是此方法会导致静态文件(jpg,js,css)被拦截后不能正常显示.需要特殊处理第三种:拦截所有,设置为/*,此设置方法错误,因为请求到Action,当action转到jsp时再次被拦截,提示不能根据jsp路径mapping成功--><!-- 默认匹配所有的请求 --><url-pattern>/</url-pattern></servlet-mapping></web-app>
配置spring mvc的配置文件,在resources下面新建一个spring-mvc.xml<?xml version="1.0" encoding="UTF-8"?>xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd";><!-- 自动加载RequestMappingHandlerMapping和RequestMappingHandlerAdapter, --><!-- 可用在xml配置文件中使用<mvc:annotation-driven>替代注解处理器和适配器的配置。 --><mvc:annotation-driven/><!-- 组件扫描器:可以扫描 @Controller、@Service、@Repository 等等 --><context:component-scan base-package="com.controller"><context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"/><property name="suffix" value=".jsp"/></bean></beans>
配置完点击IDEA 右上角有个提示
再弹出框中勾选相应的xml文件添加到context
6、添加tomcat服务点击右上角的编辑
选择添加一个tomcat服务
配置服务
点击ok完成配置7、编写控制器和页面在scr/main/java 下面创建一个新包 com.controller ,然后在包里面新建一个IndexController类
IndexController类package com.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;@Controllerpublic class IndexController {//返回字符串@ResponseBody@RequestMapping(value = "/HelloWord")public String HelloWord(){return "HelloWord";}//返回jsp视图@RequestMapping(value = "/index")public String index(Model model){model.addAttribute("name","jsp页面展示");return "index";}}
根据spring-mvc的配置文件在/WEB-INF/views/目录下创建一个index.jsp文件
效果如下
index.jsp文件<%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>$Title$</title></head><body>${name}</body></html>
8、启动项目点击右上角的绿色箭头启动
之后利用url调用我们的控制器方法,首先输入http://localhost:8080/HelloWord
页面返回字符串“HelloWorld”正常,然后再调用另一个index方法即:http://localhost:8080/index发现报错了如下所示:
提示找不到资源,我们查看了文件路径,/WEB-INF/views/下面却有index.jsp文件,这是为何?原来是我们之前添加maven框架的时候更改了webapp的授权目录,点击查看根目录的iml文件springmvc.iml
我们发现webroots路径是src/main/webapp/,但是我们项目上并没有这个目录,是故报错,所以这里有两个办法,一:是在对于目录创建相应的文件夹,二:是直接修改他的路径。这里我选用第二种,建路径改为web
这就直接对于了我们当前根目录下的web文件夹,现在我们重启项目再次输入http://localhost:8080/index
完成了项目的springmvc环境方法一的项目示例下载:http://download.csdn.net/download/fantasyxl99/10200450
方法二:使用maven搭建spring mvc环境1、新建项目首先,跟第一种方法一样点击菜单栏File->NEW->Project选择maven,然后勾选Create form archetype 选中webapp 如图
填写GroupId和ArtifactId后点击next下一步
在配置里面添加archetypeCatalog=internal (可以加快maven的生成速度,网上说的(⊙o⊙)…)
点击finish完成2、创建项目目录结构点击finish后完成的项目目录结构如下所示
这里我们需要在main目录下创建一个java目录,java下放置java 的源码,再在java项目创建一个包com.controller包。最终项目的目录结构为
之后对项目的资源分类,选中项目按F4
在弹出界面中奖java文件夹设置为项目源码Sources
把resource设置为项目的资源库Resources
设置完后相应的文件夹颜色也会变化,且右侧也会有列表信息
3、配置配置文件之后同第一种方法一样配置web.xml,spring-mvc.xml文件,添加tomcat服务器,创建IndexController控制器,index.jsp视图文件之后就完成了springmvc环境搭建启动项目就可以得到如上的结果。(注该方法无需修改iml文件里面的路径,而web.xml文件放在/webaap/WEB-INF/路径下)最终项目路径
项目运行效果
方法一的项目示例下载:http://download.csdn.net/download/fantasyxl99/10200498