Maven实践-搭建springmvc的helloworld项目

本文详细介绍了如何在 Eclipse 中利用 Maven 构建一个基本的 SpringMVC HelloWorld 项目,包括创建 Maven 项目、配置 Web 目录、添加依赖等关键步骤。

Eclipse中使用Maven搭建SpringMVC HelloWorld项目

1.新建Maven项目

New Maven Project - Create Simple Project

Group Id:     cn.fedo
Artifact Id:  demo
Packaging:    war  (必须,项目中会生成一个webapp目录)

2.项目转换成dynamic web project

Project Facets - convert to facets form...

勾选Dynamic Web Module 选择合适版本 (3.0 tomcat7.0以上 3.1 tomcat8.0以上 )

**顺便把此处jdk改成1.7 **

转换dynamic web project后(会自动生成WebContent目录)

3.配置web目录、关联maven依赖

(1)把WebContent下 META-INF和WEB-INF拷贝到 src/main/webapp下 并删掉WebContent目录

(2)修改发布配置 把Maven依赖添加到buildpath (步骤4执行后检查一下此处 可能要重新添加)

项目-Properties - Deployment Assembly

(1)添加Folder: src/main/webapp 把WebContent删掉

(2)add Java Build Path Entries - Maven Dependencies

4.pom.xml中添加依赖 (修改后执行Maven-Update Project. maven会自动导入相关jar)

  <properties>
		<java.version>1.7</java.version>
		<spring.version>4.3.9.RELEASE</spring.version>
		<junit.version>4.12</junit.version>
		<servletapi.servlet-api>3.0.1</servletapi.servlet-api>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>${servletapi.servlet-api}</version>
			<scope>provided</scope>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>${java.version}</source>
					<target>${java.version}</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

5. 修改添加SpringMVC相关配置

这里我们为了方便管理 配置文件统一放到 src/main/resources/config下 新建配置文件src/main/resources/config/springmvc.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"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">

	<!-- 对包中的类的注解进行扫描,创建Bean及自动依赖注入 -->
	<context:component-scan base-package="cn.demo.controller" />
	<bean id="viewResolver"
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/views/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>
</beans>

修改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"
	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">
	
	<servlet>
		<servlet-name>dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!--
		    如果不配置下面的init-param  会读取WEB-INF下'servlet-name'-servlet.xml作为spring配置文件(此处对应为dispatcher-servlet.xml)
    -->
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath*:config/springmvc.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcher</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
</web-app>

新建 cn.demo.controller.GreetingController

package cn.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class GreetingController {

    @RequestMapping("/greeting.do")
    public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
        model.addAttribute("name", name);
        return "greeting";
    }
}

webapp下新建index.jsp

    <a href="greeting.do">greeting</a>

WEB-INF 下新建views目录 greeting.jsp

    <h4>Hello ${name }!</h4>

访问 http://localhost:8080/demo/greeting?name=atom

基础的架构就搭建好了

转载于:https://my.oschina.net/isharecn/blog/997684

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值