[Spring]01_环境配置

简介: 1.1 Spring jar包下载(1)进入官网http://repo.spring.io (2)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring。

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>
                     
                     <param-name>contextConfigLocation</param-name>
                     <param-value>/WEB-INF/spring.xml</param-value>
              </init-param>
              <load-on-startup>1</load-on-startup>
       </servlet>
 
       
       <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名就是标签中的名字。

 

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 />
      
       
       <mvc:view-controller path="/" view-name="forward:/login/index" />
      
       
       <context:component-scan base-package="com.demo.web.controllers" />
 
       
       <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中,我们定义了标签,这样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结果如下:

 

参考资料


Spring实战(第3版)

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

目录
相关文章
|
5天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
15天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
9天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
590 212
|
4天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
236 138
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
828 60
|
7天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1226 157
|
6天前
|
存储 安全 固态存储
四款WIN PE工具,都可以实现U盘安装教程
Windows PE是基于NT内核的轻量系统,用于系统安装、分区管理及故障修复。本文推荐多款PE制作工具,支持U盘启动,兼容UEFI/Legacy模式,具备备份还原、驱动识别等功能,操作简便,适合新旧电脑维护使用。
515 109