springMVC整理01--搭建普通的工程
1. Spring MVC 简介
Spring MVC 是 Spring 基于 MVC 设计理念提供的一个表现层的 Web 框架。是目前主流的MVC 框架之一。Spring MVC 通过一套 MVC 注解,让 pojo 成为处理请求的控制器,无需实现任何接口。比其他 MVC 框架更具扩展性和灵活性。
2. 环境搭建
本节介绍一个简单的 springMVC 环境搭建,输出一个 Hello World。
2.1 创建工程
选用一个 webapp 模板,这个模板会帮我们创建好 webapp/WEB-INF 目录和 web.xml 文件。
如果不使用模板,也可以自己创建目录和文件。
本测试功工程的完整目录如下:
2.2 导入 jar 包
在 pom.xml 中加入配置:
<dependencies>
<!--日志文件-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<!--spring 相关包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.11.RELEASE</version>
</dependency>
</dependencies>
在 resources 目录下创建 log4j.properties 文件,配置如下:
log4j.rootLogger=DEBUG, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
2.3 编写 Spring 配置文件
在 WEB-INF 中创建 springMVC-servlet.xml 和 applicationContext.xml 两个文件。IDEA 可以使用模板自动创建文件,Add Framewoek Support 的时候选择 SpringMVC 即可。
springMVC-servlet.xml 中配置如下:
<? 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:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
<!-- 启动注解,注册服务-->
<mvc:annotation-driven/>
<!-- 启动自动扫描 -->
<context:component-scan base-package="controller">
<!-- 制定扫包规则 ,只扫描使用@Controller 注解的 JAVA 类 -->
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
</beans>
applicationContext.xml 暂时先不用写东西。
2.4 配置 web.xml
<? xml version="1.0" encoding="UTF-8" ?>
<web-app 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_3_0.xsd"
version="3.0">
<!--配置 listener,在启动 Web 容器的时候加载 Spring 的配置-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--将欢迎页设置成 index.html-->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<!--配置 DispatcherServlet -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
web 项目启动的时候,加载 spring 的默认路径是"/WEB-INF/applicationContext.xml,在WEB-INF 目录下创建的 xml 文件的名称必须是 applicationContext.xml。如果是要自定义文件名可以在 web.xml 里加入 contextConfigLocation 这个 context 参数,如下:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-*.xml</param-value>
</context-param>
上面的配置可以加载 resources 文件夹下 spring-开头的 xml 文件。DispatcherServlet 在 SpringMVC 中负责流程控制和职责分派,如文件上传、
请求映射等。其中<servlet-name>中的值是和配置文件相对应的,如此处<servlet-name>的值是 springMVC,对应配置文件的名字就叫 springMVC-servlet.xml,如图:
如果想要使用其它文件名,可以通过配置 contextConfigLocation,如下:
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--指定其他文件名-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext.xml</param-value>
</init-param>
</servlet>
2.5 编写 controller
在 java 文件夹下新建 controller 文件夹,创建 IndexController.java
@Controller
public class IndexController {
//RequestMapping 设置访问路径是 index.html
@RequestMapping("index.html")
public String showIndex() {
//返回 index.jsp 页面
return "index.jsp";
}
}
SpringMVC 中使用@Controller 注解声明控制器,所有接受请求的方法都要写在@Controller 注解的类中。@RequestMapping 用来设置请求的 url 地址。
2.6 页面 index.jsp
默认工程创建的时候在 webapp 下就包含 index.jsp:
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
运行项目。访问 http://localhost:8080/index.html
注意访问的是 index.html 不是 index.jsp
springMVC整理01--搭建普通的工程的更多相关文章
- Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...
- springMVC学习篇 - 搭建环境及关键点
springMVC是spring家族中一个重要的组件,和struts一样作为一套前台框架被广泛的应用于各种项目. 之前在很多项目组都用到springMVC,只感觉很强大,但是对这套框架的知识了解比较少 ...
- SpringMvc学习-环境搭建
最近在学习SpringMVC,首先来说说SpringMVC项目的搭建. 1.SpringMVC简介 spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级W ...
- Springmvc+Spring+Hibernate搭建方法
Springmvc+Spring+Hibernate搭建方法及example 前面两篇文章,分别介绍了Springmvc和Spring的搭建方法,本文再搭建hibernate,并建立SSH最基本的代码 ...
- 【转】Spring+Mybatis+SpringMVC+Maven+MySql搭建实例
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+M ...
- 搭建Android工程的步骤及其第一个安卓程序
1.安卓系统架构 1>底层是Linux系统 2>函数库层 由C或C++写的 3>Application frameWork应用的框架层 4>顶层是应用层 2.JVM与DVM介绍 ...
- 搭建Maven工程的时候,做单元测试,报ClassNotFoundException
搭建Maven工程的时候报错 问题原因是在spring.xml中配置的 classpath:config.properties 没有在工程中创建.
- springmvc环境的搭建
最近应公司要求,用了2天时间学了springmvc的搭建,就简单总结一下: springmvc和struts2的比较,因为我是学过struts的,它们都是基于mvc模式而设计的web层框架 它们最大的 ...
- Springmvc+Spring+Hibernate搭建方法及实例
Springmvc+Spring+Hibernate搭建方法及实例
随机推荐
- Class AtomicInteger
Overview Package Class Use Tree Deprecated Index Help Java™ PlatformStandard Ed. 7 Prev Class Next C ...
- win8.1系统下安装ubuntu实现双系统实践教程
寒假闲来无事,一程序猿哥们给发了一个linux的shell编程指南,看了几张感觉不错.于是装一个试试. 没想到一装才知道了那么的问题. 下面开始: step 1: 软件准备:Ubuntu 系统镜像,这 ...
- javaMail发邮件,激活用户账号
用javamail实现注册用户验证邮箱功能.用户注册后随机生成一个uuid作为用户的标识,传递给用户然后作为路径参数.发送html的内容到用户注册的邮箱里,若用户点击后去往的页面提交username和 ...
- python中换行,'\r','\n'及'、'\r\n'
'\r'的本意是回到行首,'\n'的本意是换行. 所以回车相当于做的是'\r\n'或者'\n\r'.'\r'就是换行并回行首, '\n'就是换行并回行首,用'\r\n'表示换行并回行首. window ...
- Dubbo负载均衡与集群容错机制
1 Dubbo简介 Dubbo是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. 作为一个轻量级RPC框架,D ...
- java程序员一些初中级面试题(数据库部分)
说出一些数据库优化方面的经验? 1.从JDBC编程的角度讲,用PreparedStatement一般来说比Statement性能高,因为在使用时,SQL语句被预编译并存储在PreparedStatem ...
- maven eclipse 第3方包
C:\Users\3510\.m2\repository\myjar install:install-file -Dfile=C:\Users\3510\.m2\repository\myjar\al ...
- re正则表达式-1
匹配/查找/替换/分割函数: import re re.match('aa','aabbcc') 返回对象中span为开始位置和结束位置 re.match('aa','bbaacc') #返回值为No ...
- vue element-ui 绑定@keyup事件无效
解决办法: <el-input @keyup.native="ajax"></el-input> 加上.native覆盖原有封装的keyup事件即可
- Java线程的5种状态及切换(透彻讲解)-京东面试
一.Thread的几个重要方法: 我们先了解一下Thread的几个重要方法. a.start()方法,开始执行该线程:b.stop()方法,强制结束该线程执行:c.join方法,等待该线程结束.d.s ...