[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)导入springjar

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

ControllerSpringMVC的控制器,用于处理页面请求。

新建一个名为LoginControllerjava文件,内容如下:

复制代码
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文件夹,并添加一个名为indexjsp文件,内容如下:

复制代码
< %@ 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结果如下:

 本文转自静默虚空博客园博客,原文链接:http://www.cnblogs.com/jingmoxukong/p/4503462.html,如需转载请自行联系原作者

相关文章
|
2月前
|
消息中间件 Java 测试技术
Spring Cloud Alibaba环境问题之测试环境失败如何解决
Spring Cloud Alibaba提供了一套在Spring Cloud框架基础上构建的微服务解决方案,旨在简化分布式系统的开发和管理;本合集将探讨Spring Cloud Alibaba在实际应用中的部署和使用技巧,以及该框架常见问题的诊断方法和解决步骤。
|
2月前
|
Arthas Java 测试技术
Docker 环境中 Spring Boot 应用的 Arthas 故障排查与性能优化实战
Docker 环境中 Spring Boot 应用的 Arthas 故障排查与性能优化实战
|
10月前
|
Java Linux Maven
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
194 0
|
1月前
|
缓存 运维 Java
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
22 0
|
2月前
|
Java Shell 测试技术
环境切换大法:掌握Spring Boot多套配置与@Profile注解的高级技巧
环境切换大法:掌握Spring Boot多套配置与@Profile注解的高级技巧
52 2
环境切换大法:掌握Spring Boot多套配置与@Profile注解的高级技巧
|
2月前
|
消息中间件 人工智能 Java
Spring Boot+RocketMQ 实现多实例分布式环境下的事件驱动
Spring Boot+RocketMQ 实现多实例分布式环境下的事件驱动
61 1
|
2月前
|
存储 安全 Java
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(下)
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(下)
40 0
|
2月前
|
安全 Java 数据库
第2章 Spring Security 的环境设置与基础配置(2024 最新版)(上)
第2章 Spring Security 的环境设置与基础配置(2024 最新版)
101 0
|
2月前
|
存储
Spring5源码(52)-Web应用上下文环境创建
Spring5源码(52)-Web应用上下文环境创建
29 0