最近公司使用spring mvc 来代替struts2.x。这两天花了点时间来自己搭建了一下简单的spring mvc 应用,
在此记录下搭建的过程,本文只涉及到 Controller 的访问,关于Interceptor, manager, dao 后续会加上,
具体的如何在eclipse中使用maven来构建项目就不介绍了,不是本文的重点。
第一:需要的jar:(pom.xml)
<!-- 统一管理 jar 包版本 -->
<properties>
<version.junit>3.8.1</version.junit>
<version.spring>3.0.6.RELEASE</version.spring>
<version.slf4j>1.6.4</version.slf4j>
<version.jstl>1.2</version.jstl>
</properties>
<dependencies>
<!--junit 单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${version.junit}</version>
<scope>test</scope>
</dependency>
<!-- org.slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${version.slf4j}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>${version.jstl}</version>
</dependency>
<!-- **************************** spring *************************************** -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${version.spring}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${version.spring}</version>
</dependency>
</dependencies>
第二:编写 web.xml (个人认为这是最开始做的)
<!-- 配置文件读取 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 字符集过滤 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--DispatcherServlet 是Spring MVC 的入口 : 注册 dispatcherServlet -->
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spring-servlet.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>
注意:
关于 dispatcherServlet 的配置:
1)spring-servlet.xml文件的位置
个人习惯将所有的配置放在resource 里面(或者一个其他的文件夹里面),而不是直接将 spring-servlet.xml 文件直接放在 WEB-INF 下面。所以要配置<init-param>配置文件路径。(如果将 spring-servlet 直接放在WEB-INF 下面,spring在加载的时候就会自动去 WEB-INF 下面去寻找)
2)spring-servlet.xml文件的命名:
如果你不喜欢使用spring给你定死的名称(spring-servlet.xml);你希望命名为:springmvc-servlet.xml 这样更易懂的,那么你只要修改 <init-param>文件中的名称就可以了
第三:编写spring-servlet.xml 文件:
<!-- 对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->
<context:component-scan base-package="com.longxia.**.controller" />
<!-- 激活@Controller模式 -->
<mvc:annotation-driven />
<!-- 处理静态资源 -->
<mvc:resources mapping="/js/**" location="/js/" />
<mvc:resources mapping="/css/**" location="/css/" />
<mvc:resources mapping="/img/**" location="/img/" />
<mvc:default-servlet-handler />
<!-- 视图解析器 当Controller返回XXX字符串时,先通过拦截器,然后该类就会在/WEB-INF/page/目录下,查找XXX.jsp文件-->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/page/"/>
<property name="suffix" value=".jsp" />
</bean>
第四:编写Controller:
LoginController.java:
package com.longxia.springmvc.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author xialong <longxia1987@hotmail.com>
*
*/
@Controller
public class LoginController {
private static final Logger logger = LoggerFactory.getLogger(LoginController.class);
@RequestMapping(value="/loginPage.htm")
public String login(){
logger.info("----------- login.htm----------");
return "login_page";
}
}
http://lcoalhost/springmvc/loginPage.htm; 这样就可以返回的login_page.jsp页面;
如果想要直接输入:http://localhost/springmvc 在不配置 welcome-file-list 的情况下,同时webapp下面也没有index文件的时候,那么我们怎么做呢?
@RequestMapping(value={"index.htm","/"})
public String index(){
return "login_page";
}
@RequestMapping(value={"index.htm","/"});
这样就可以访问 http://localhost/springmvc 这样就可以返回的login_page页面,一般我们都用作首页的请求;
welcome-file-list 同样可以有首页的效果,这里只是说一下可以这样也可以实现
目录结构:
分享到:
相关推荐
- 配置Spring MVC:在Spring的配置文件中,我们需要定义DispatcherServlet、视图解析器和处理器映射器等。 - 集成MyBatis:引入MyBatis的依赖,配置SqlSessionFactoryBean,创建MapperScannerConfigurer扫描Mapper...
Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序,而Spring JDBC则是Spring提供的用于简化数据库操作的工具。 【描述】"用spring4.0.5版本开发的,spring mvc,spring jdbc,最简单的用户登录,注册和...
【标题】:使用IntelliJ IDEA开发的Spring MVC小型案例 在本文中,我们将深入探讨如何使用IntelliJ IDEA这个强大的Java集成开发环境(IDE)来构建一个基于Spring MVC框架的小型应用程序。Spring MVC是Spring框架的...
本套初级学习视频将帮助初学者深入理解并掌握Spring的基本概念和使用方法。 首先,我们从依赖注入(DI)入手。在传统的Java应用程序中,对象之间通过直接引用彼此来建立关系,这导致了代码的耦合度较高,不易于测试...
本教程将围绕"Spring3注解初级实例"进行详细讲解,帮助初学者了解如何在Spring3中使用注解进行开发。 首先,让我们了解一下什么是注解(Annotation)。注解是Java编程语言的一种元数据,它可以提供有关代码的额外...
这个“整合Struts + Spring + Hibernate 初级源码”是一个理想的起点,对于初学者来说,通过实践这些源码,可以深入理解这三大框架的集成和工作原理。 Struts是MVC(Model-View-Controller)架构的实现,主要处理...
"中软培训.ppt" 文件可能包含了深入的 Spring 培训内容,涵盖了 Spring 框架的基本概念、配置、实战案例等。这份讲义将帮助学习者理解 Spring 的核心组件,如 Bean 定义、自动装配、Bean 生命周期管理,以及如何实现...
5. **Spring MVC**:对于Web开发,Spring MVC提供了模型-视图-控制器架构,帮助开发者构建可维护的、模块化的Web应用。它支持RESTful风格的URL设计,有强大的数据绑定和验证机制,以及视图解析功能。 6. **Spring ...
Spring框架是Java开发中广泛应用的一个轻量级框架,它的核心...通过这个初级教程,你将能够建立Spring应用的基础,并为进一步学习Spring的高级特性和模块(如Spring MVC、Spring Data、Spring Boot等)打下坚实基础。
【Spring MVC 入门教程】 Spring MVC 是一个轻量级的、基于模型-视图-控制器(MVC)设计...在这个初级入门教程中,你已经了解了如何搭建 Spring MVC 环境,接下来可以通过编写 Controller 和服务层来实现具体的功能。
- **MVC配置**:如Spring Boot的@Configuration和@EnableWebMvc,用于设置Spring MVC的行为。 理解并实践这些概念,可以让你逐步掌握Spring MVC的精髓,从一个对Spring MVC“一无所知”的初学者,成长为能够熟练...
初级教程通常涵盖Spring MVC,这是Spring框架用于构建Web应用的一部分。Spring MVC提供了一个模型-视图-控制器(MVC)架构,使得开发人员可以分离业务逻辑、数据处理和用户界面。学习这部分,你需要理解...
5. **配置文件**:包括Spring的ApplicationContext配置文件和Mybatis的SqlSessionFactory配置,定义了bean的装配和数据库连接信息。 对于想要学习或二次开发这个系统的开发者,你需要掌握以下技能: 1. **Spring ...
2. **配置Spring MVC**:在src/main/webapp/WEB-INF目录下创建servlet-context.xml,这是Spring MVC的配置文件。在这里,我们需要定义DispatcherServlet,它是Spring MVC的前端控制器,以及配置视图解析器,例如...
- Spring MVC的概念,Controller、Model、View的职责划分,以及DispatcherServlet的配置。 - 整合Spring、Hibernate和Struts的步骤,包括配置文件的编写、拦截器的设定以及数据流的控制。 通过阅读和实践这些电子书...
2. **SSM整合**:配置Spring、Spring MVC和MyBatis的配置文件,如`applicationContext.xml`、`spring-mvc.xml`和`mybatis-config.xml`,完成数据库连接、扫描Mapper接口等配置。 3. **Maven或Gradle依赖**:在项目...
虽然这不是初级内容,但视频可能会涉及Spring Cloud的基础知识,以帮助学习者了解Spring在大规模分布式系统中的应用。 总的来说,"j2ee视频教程-spring"涵盖了Spring框架的多个重要方面,从基础的依赖注入到复杂的...
4. **配置文件**:如Spring的XML配置文件或Java配置,定义了组件的依赖关系和bean的配置。 5. **数据库脚本**:创建数据库表的SQL脚本,用于设置数据库结构。 6. **README或指南文档**:提供如何运行和理解项目的...
JavaWeb初级实例中的日志管理系统是一个基于MVC(Model-View-Controller)设计模式的Web应用,它结合了Struts和SSH(Spring、Struts、Hibernate)两大主流框架,为开发者提供了一个简单但完整的日志记录和管理平台。...