[Spring]01_环境配置

1.1 Spring jar包下载

(1)进入官网http://repo.spring.io

(2)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring。

然后,就可以看到发布的各个版本,选一个自己需要的版本,点击Download

(我这里下载的是当前最新版本spring-framework-4.1.6.RELEASE-dist)

1.2 Hello World

SpringMVC 配置过程中很容易出现各式各样的问题,很是费劲。

下面提供傻瓜式创建HelloWorld工程的方式,希望大家少走弯路。

(1)创建一个Dynamic Web Project

点击File -> New -> Other, 输入web, 可以找到Dynamic Web Project

新建一个名为SpringHello的工程。可参考下图的配置 。

(2)导入spring的jar包

在WEB-INF目录下新建一个lib目录(如果没有lib目录)。

将下载的spring-framework-4.1.6.RELEASE-dist\spring-framework-4.1.6.RELEASE\libs中的jar包拷贝到WEB-INF\lib 目录下

为图省事,本人将所有jar都拷贝进来了。

此外,spring框架还依赖一个外部jar包:commons-logging-1.2.jar,需要下载并导入。

:顺便提一下,spring-framework-4.1.6.RELEASE-dist\spring-framework-4.1.6.RELEASE\libs下的jar包分为普通jar包、sources jar包和javadoc jar包。sources 和javadoc分别包含了普通jar包的源码和java文档。

有兴趣想看spring源码的朋友可以导入,导入方法网上有很多介绍,这里不赘述。

(3)添加web.xml

web.xml文件中声明了servlet的清单。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
       http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 
 
 <display-name>SpringHello</display-name>
 
 <!-- 声明前端控制器 -->
 <servlet>
 <servlet-name>spring</servlet-name>
 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 <init-param>
 <!-- 如果不设置的话,默认的servlet配置文件名为xxx-servlet.xml -->
 <param-name>contextConfigLocation</param-name>
 <param-value>/WEB-INF/spring.xml</param-value>
 </init-param>
 <load-on-startup>1</load-on-startup>
 </servlet>
 
 <!-- 声明DispatcherServlet处理哪些URL -->
 <servlet-mapping>
 <servlet-name>spring</servlet-name>
 <url-pattern>/</url-pattern><!-- 映射到/表示会处理所有的请求 -->
 </servlet-mapping>
</web-app>

SpringMVC的核心是DispatcherServlet,这个servlet的角色是前端控制器。所有的servlet都是在web.xml中配置的,DispatcherServlet当然也不例外。

如果不指定contextConfigLocation,默认情况下servlet配置文件的名字形式应该为servlet名-servlet.xml, 这个servlet名就是<servlet-name>标签中的名字。

(4)添加servlet——spring.xml

新建一个名为spring.xml的文件(这个文件名必须和web.xml中的servlet对应上),内容如下:

<?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:util="http://www.springframework.org/schema/util"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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/util
    http://www.springframework.org/schema/util/spring-util-3.0.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
 
 <!-- 默认的注解映射的支持 -->
 <mvc:annotation-driven />
 
 <!-- 如果当前请求为“/”时,则转发到“/login/index” -->
 <mvc:view-controller path="/" view-name="forward:/login/index" />
 
 <!-- 设置后,将查找使用@Component(@Controller是它的一种具体化)注解的类并将其注册为Bean -->
 <context:component-scan base-package="com.demo.web.controllers" />
 
 <!-- 配置视图解析器 (该配置的是jstl解析器的一个扩展解析类) -->
 <bean
 class="org.springframework.web.servlet.view.InternalResourceViewResolver">
 <property name="prefix" value="/WEB-INF/view/" />
 <property name="suffix" value=".jsp" />
 </bean>
</beans>

(5) 添加Controller——LoginController.java

Controller是SpringMVC的控制器,用于处理页面请求。

新建一个名为LoginController的java文件,内容如下:

package com.demo.web.controllers;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
 
@Controller
public class LoginController {
      @RequestMapping(value="/login/index", method = RequestMethod.GET)
 public ModelAndView index() {
            ModelAndView mav = new ModelAndView();
            mav.addObject("message", "Hello World! First program!");
            mav.setViewName("index"); // 设置视图名称
 return mav;
      }
}

Spring2.5版本引入了注解方式,所以,我们可以很方便的使用@Controller来将一个类标注为控制器。

在spring.xml中,我们定义了<context:component-scan>标签,这样LoginController会自动被发现并注册为Bean。需要注意的是pacake要相互对应。

@RequestMapping可以将一个URL映射到一个实体类或一个特殊的handler方法上。RequestMethod.GET表示只接受get请求。

(6)添加视图——index.jsp

在/WEB-INF文件夹下新建一个view文件夹,并添加一个名为index的jsp文件,内容如下:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
       pageEncoding="ISO-8859-1"%>
<!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>Spring Hello World</title>
</head>
<body>
 <h1>${message}</h1>
</body>
</html>

(7)运行项目

经过上面的步骤,项目文件结构如下

运行项目,选择Run As -> Run On Server结果如下:

参考资料

Spring实战(第3版)

http://www.cnblogs.com/liukemng/p/3725582.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏web编程技术分享

手把手的SpringBoot教程,SpringBoot创建web项目(三)

3259
来自专栏码神联盟

碎片化 | 第四阶段-33-Struts2-Spring整合环境概述讲解-视频

如清晰度低,可转PC网页观看高清版本: http://v.qq.com/x/page/u0566wcfa99.html Struts2+Spring整合 1...

3015
来自专栏好好学习吧

java + selenium + testng实现简单的UI自动化

 可以在https://mvnrepository.com里面搜索需要的库,选择版本,复制其依赖信息

1071
来自专栏大数据

使用Go构建一个Data Thrashing CLI工具

以下所撰就是这个快速上手的项目。最后,我将在容器中搭建服务,并将其放入Kubernetes(k8s)集群中,不过下面操作都是在CLI环境下进行的。

1910
来自专栏互扯程序

手把手教你整合最优雅的SSM框架

现在很多公司新的项目已经使用springboot来搭建ssm项目了。实在是太方便了,so easy,妈妈再也不用担心我写程序了。 但是用越简单的东西,他的底层实...

5087
来自专栏菩提树下的杨过

如何让jboss eap 6.2+ 的多个war应用共享 jar 包?

weblogic有一个很贴心的功能,允许把多个war应用共同依赖的jar包,打包一个单独的war,以libary方式部署,然后各应用在weblogic.xml里...

3057
来自专栏强仔仔

IDEA上面搭建一个SpringBoot的web-mvc项目

这几天一直在研究IDEA上面怎么搭建一个web-mvc的SpringBoot项目,看网上的教程一步步的搭建,可是还是出现一堆的问题。 为了让大家以后少走一些弯路...

1916
来自专栏北京马哥教育

Nginx专题: 从编译安装到URL重写

前言 本文主要实现使用Nginx作为Web服务器,并使用URL Rewrite实现将手机对Web站点的请求专门重写到一个专门为手机定制的Web页面中。 环境介绍...

3055
来自专栏SpringBoot 核心技术

第五章:配置使用FastJson返回Json视图本章目标创建SpringBoot项目添加依赖项目初尝试运行总结

1174
来自专栏一个会写诗的程序员的博客

《Spring Boot 实战:从0到1》第2章 快速开始Hello World第2章 快速开始Hello World

大约20年前,程序员们使用“企业级Java Bean”(EJB)开发企业应用,需要配置复杂的XML。在二十世纪初期,新兴Java技术——Spring,横空出世。...

361

扫码关注云+社区