最近有空自学了下java,看到那些个配置,头都大了
开发工具:eclipse 版本: Oxygen.1a Release (4.7.1a)
Maven: 3.5.2
1、新建一个Maven-Project选webapp模板
groupId:com.jxm --自己任意取名
artifactId:springmvc02
version:默认就行
2、右键项目->Properties->文件格式设置成utf-8 避免以后可能的编码问题
3、建maven约定的文件结构
新建后的项目目录是这样的
按照maven的约定,应该有
src/main/java
src/main/resources
src/test/java
src/test/resources
4个source folder
新建source folder 这里碰 The folder is already a source folder的问题
解决:http://www.oschina.net/question/922518_134759
右键build path -> configure build path -> source ,选择 src/main/java、src/test/java删除,然后再新建。
接下来将JRE改成本地版本:右键JRE
回到项目 看到项目problems下有两个错误,导致项目上一直有红色的X
解决方式:
右键项目->找到build path->切换到Library->Add Library->Server Runtime
选择自己的服务器(我是tomcat,如果没有,要新建一个)
4、配置spring mvc需要的依赖包
打开 pom.xml文件,添加配置项
4.0.0
com.jxm
springmvc02
war
0.0.1-SNAPSHOT
springmvc02 Maven Webapp
http://maven.apache.org
4.3.13.RELEASE
junit
junit
3.8.1
test
org.springframework
spring-webmvc
${spring.version}
springmvc02
增加的是红色圈起来部分,因为是spring mvc 依赖 spring-webmvc包,加上之后,maven install的时候会自动加载依赖 包括 spring-core等的包
至于spring的版本,可以到 maven仓库 http://search.maven.org/ 搜索
(没用最新的)
现在可以先安装一下maven的包
右键项目->Run As->Maven Install
5、配置Web.xml
Archetype Created Web Application
contextConfigLocation
classpath:/configs/spring-*.xml
org.springframework.web.context.ContextLoaderListener
spring
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:configs/spring-servlet.xml
1
spring
/
index.jsp
上面红色部分较默认Web.xml文件有所修改,可以看到改成了2.5版本
光上面的配置文件改还不行,打开项目物理目录,找到 .settings目录的如下文件也修改成2.5版本
此时需要关掉eclipse再重新打开,使修改生效
之所以修改是因为2.3版本下 ->jsp页面的 ${hello}绑定不上值。
也可以改成更高版本的如3.1(facet文件和web.xml两者都改),则web.xml头部如下:
根据web.xml中的配置,在src/main/resources下新建一个名为configs的folder
新建 spring-servlet.xml (因为文件路径已经在web.xml中指定了)
新建上面配置中的包
在包下建 HelloSpringController.java
package com.jxm.mvcdemo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class HelloSpringController {
@RequestMapping("/hello")
public ModelAndView hello(){
ModelAndView mv =new ModelAndView();
mv.addObject("spring", "spring mvc");
mv.setViewName("hello"); //找views下的hello.jsp视图
return mv;
}
}
WEB-INF目录下建views文件夹,并新建hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
第一个Spring MVC
hello ${spring}!
在tomcat下运行:右键tomcat服务器,Add and Remove
打开:http://localhost:8080/springmvc02/hello