您的位置:首页 > 编程语言 > Java开发

spring-mvc最小化配置,最简单入门。

2016-01-26 17:15 686 查看
不会用spring,也不会spring-mvc,在越来越注重效率的java开发大环境下,不会spring-mvc是不行的。

作为刚入门的coder,公司的项目都是别人配好的,感觉用起来好简单,所以萌生了自己学习spring的想法。首先从spring-mvc做起,所以这次就是简单的环境配置,实现一个类似hello word的项目。想复杂以此类推就好。

首先是新建工程,这个就不说了哈,这个不会的暂不建议使用spring。

然后是导包,我在这上边花了不少功夫。因为要精简嘛。要学习总不能一上来所有的包都导上吧,以精简为主要思想,不然spring的模块思想岂不是摆设。

spring相关的包,理论上有这几个包程序就能运行了。

1、spring-core spring核心包

2、spring-web

3、spring-webmvc

版本都是4.2.4.RELEASE,因为现有的教程没什么spring4的,所以笔者也在这上边浪费了不少力气。

如果是maven工程,pom.xml文件如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.remainer</groupId>
<artifactId>spring-test</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>spring-test Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- 添加spring,3个 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>

<!-- 添加Servlet,jsp 支持,不然页面会报错 2个 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>spring-test</finalName>
</build>
<properties>
<encoding>utf-8</encoding>
</properties>
</project>


pom.xml中主要是dependency标签中的几个依赖,可以新建maven工程复制粘贴就好,maven插件最新的eclipse已经带了,不会用的话私我或者remainer@163.com 共同探讨。邮件尽量秒回。不用maven还不会导包的猿们,还是上边那句话,暂不适合学习spring。

导完包修改web.xml文件,不会的或者找不见web.xml文件的,还是上边那句。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>card-mysql</display-name>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name&
c404
gt;
<param-value>classpath*:applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>


这是我的web.xml文件,参照修改就好了,这个好像也已经是最简了。

然后是applicationContext.xml,就是上边web.xml中init-param里边的那个applicationContext.xml,路径就是src文件夹下,如果是maven工程,路径是src/main/resources文件夹下。

<?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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"> <!-- controller所在的包的上一级,就是作为控制器的java文件应该在com.remainer.test.spring.controller包下 -->
<context:component-scan base-package="com.remainer.test.spring" />

<!--对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--前缀 -->
<property name="prefix" value="/WEB-INF/views/" />
<!--后缀 -->
<property name="suffix" value=".jsp" />
</bean>
</beans>


完成上边的工作环境基本配好了,接下来就是实现一个控制器了,好鸡动有木有。

在applicationContext.xml有一个包还记得吧,com.remainer.test.spring.controller,前边随意,最后一个是controller,我不知道是不是必须,我就是这么做的。

然后在com.remainer.test.spring.controller包里新建一个java文件,名字你们看着办吧。

然后还是照猫画猫吧,说好麻烦啊。

package com.remainer.test.spring.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
//@RequestMapping("/test1")
public class TestController {
@RequestMapping("/index")
public String test(HttpServletRequest request, HttpServletResponse response){
return "test";
}
}


注掉的地方就是说可有可无,访问路径适当变化就好了。

然后是jsp文件,在/WEB-INF/下新建文件夹views,然后在里边新建test.jsp文件,写什么你们看着办吧。,为啥是/WEB-INF/views/这个路径呢,applicationContext.xml里有,自己找。怎么改自己试吧,应该不难。

终于可以访问了,都迫不及待了。

run as web项目,在浏览器输http://127.0.0.1:8080/你的工程名/test1/index.html,应该就访问到test.jsp了。

总结:

这次教程是笔者自己在走了许多许多…弯路之后总结的,希望可以帮到有同样需要的人。

还有几点要强调:

1、笔者也是菜鸟一枚,教程之中有任何错误希望能发现的人,希望可以及时联系我,我会马上改正,以免误人子弟。联系方式见下。

2、上文提到暂不建议学习spring的人没有丝毫歧视的意思,笔者自己也是一步一步自学过来的,其中艰辛只有尝过的人才真正体会,不建议是真心话,行文之中有不适当还请见谅。当然,如果在学习中有任何的问题,不论是本教程中的还是之外的,我都会尽力解答。我不保证能全部解答,至少可以探讨。

最后附上联系方式:remainer@163.com 如果收到的时候手边没有电脑,我会回复稍后解答,还请见谅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring-mvc java