spring MVC入门教程
写一个spring mvc后台传值到前台的一个小例子。
分为以下几个步骤:
1.创建web项目。
导入项目包。具体有如下:
- spring-aop-4.0.4.RELEASE.jar
- spring-beans-4.0.4.RELEASE.jar
- spring-context-4.0.4.RELEASE.jar
- spring-core-4.0.4.RELEASE.jar
- spring-expression-4.0.4.RELEASE.jar
- spring-web-4.0.4.RELEASE.jar
- spring-webmvc-4.0.4.RELEASE.jar
- commons-logging-1.1.1.jar
2.配置web.xml文件,配置servlet
<servlet>
<servlet-name>helloSpring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--<init-param>这个参数是为了加载下一步配置的spring配置文件的 ,默认spring mvc的加载是将spring配置文件放在web-inf下而且名称是web.xml配置的该 servlet名字-servlet.xml 会在启动时自动去改路径寻找该配置文件,我们这里将它放在了src下去加载-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:helloSpring-servlet.xml</param-value>
</init-param>
<!--在项目启动时加载配置文件-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>helloSpring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
3.添加spring配置文件并进行配置。
我的spring配置文件叫helloSpring-servlet.xml,放在src下。
在<beans></beans>元素里添加如下内容:
<!-- 配置自动扫描包路径,此处采用注解方式 -->
<context:component-scan base-package="com.demo"></context:component-scan>
<!-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 ,会在web-inf/views/下找到你返回的页面名字.jsp-->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
4.编写逻辑代码:在src下创建com.demo.controller包
编写类MySpringController。具体代码如下:
package com.demo;
import org.omg.CORBA.Request;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller//注解,配置扫描到controller
public class MySpringController {
//方法
@RequestMapping(value="/hello",method=RequestMethod.GET)//访问请求的路径,value值是hello
//该方法需要一个ModelMap,它会存储信息,这将hello springMVC字符串放到message里
public String helloWorld(ModelMap map){
map.addAttribute("message","hello springMVC");
//返回一个string hello,会在配置文件中的前缀后缀进行结合,就相当于跳转到web-inf/views/hello.jsp
return "hello";
}
}
----------------------这个方法也可以这么写
@RequestMapping(value="/hello",method=RequestMethod.GET)
public ModelAndView helloWorld()
{
ModelAndView modelAndView=new ModelAndView("hello");//ModelAndView跳转的页面
modelAndView.addObject("message","hello springMVC");//添加到request域存放数据
return modelAndView;
}
5.去web-inf创建views文件夹,在views文件夹下创建hello.jsp
在jsp页面用el表达式就可以取到数值
<body>
${message } <br>
<!--如果没有取到值可以用${requestScope.message}取值,因为它默认存放到request域中-->
</body>
6.访问http://localhost:8080/项目名/hello会跳转到hello.jsp显示数据。
至此一个简单的spring mvc就搭建完成。
个人搭建的,如果有问题欢迎指正。
spring MVC入门教程的更多相关文章
- Spring MVC 入门教程示例 (一)
今天和大家分享下 Spring MVC 入门教程 首先还是从 HelloWorld web 工程开始 -------------------------- 1.首先创建一个Maven Web工程 ...
- spring mvc入门教程 转载自【http://elf8848.iteye.com/blog/875830】
目录 一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...
- Java - Struts框架教程 Hibernate框架教程 Spring框架入门教程(新版) sping mvc spring boot spring cloud Mybatis
https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html?tid=6 ...
- Spring MVC新手教程(二)
第一篇文章宏观讲了Spring MVC概念,以及分享了一个高速入门的样例. 这篇文章主要来谈谈Spring MVC的配置文件. 首先来谈谈web.xml: web项目启动时自己主动载入到内存中的信息, ...
- Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序
一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...
- Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版
一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...
- Spring Boot 入门教程
Spring Boot 入门教程,包含且不仅限于使用Spring Boot构建API.使用Thymeleaf模板引擎以及Freemarker模板引擎渲染视图.使用MyBatis操作数据库等等.本教程示 ...
- Spring Cloud 入门教程 - 搭建配置中心服务
简介 Spring Cloud 提供了一个部署微服务的平台,包括了微服务中常见的组件:配置中心服务, API网关,断路器,服务注册与发现,分布式追溯,OAuth2,消费者驱动合约等.我们不必先知道每个 ...
- Spring Cloud 入门教程(七): 熔断机制 -- 断路器
对断路器模式不太清楚的话,可以参看另一篇博文:断路器(Curcuit Breaker)模式,下面直接介绍Spring Cloud的断路器如何使用. SpringCloud Netflix实现了断路器库 ...
随机推荐
- PHP 单例模式
一.什么是单例模式? 1.含义 作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例.它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用. 2. ...
- Jquery元素选取、常用方法
一:常用的选择器:(李昌辉) 基本选择器 $("#myDiv") //匹配唯一的具有此id值的元素 $("div") //匹配指定名称的所有元素 $(" ...
- 【初探IONIC】不会Native可不可以开发APP?
前言 Hybrid技术流行已经有一段日子了,楼主的关注点也一直围绕着移动端围绕着Hybrid相关展开,Hybrid已经是大大提升开发效率的开发方式了,但是仍然需要至少一个IOS与Andriod,那么可 ...
- Shiro安全框架入门篇(登录验证实例详解与源码)
转载自http://blog.csdn.net/u013142781 一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和J ...
- 在Outlook中查看预览SharePoint文档库的文档
本文概况 阅读时间: 约2分钟 适用版本:SharePoint Server 2010及以上 面向用户:普通用户,管理员 难度指数:★★☆☆☆ 在日常工作中,总有一些常用的文档需要经常打开查看,其实我 ...
- ASP.NET Core Web API Cassandra CRUD 操作
在本文中,我们将创建一个简单的 Web API 来实现对一个 “todo” 列表的 CRUD 操作,使用 Apache Cassandra 来存储数据,在这里不会创建 UI ,Web API 的测试将 ...
- Android界面架构(Activity,PhoneWiondow,DecorView)简介
在一个Android应用程序中,用户界面通过View和ViewGroup对象构建.所有View的子类成为"Widget",所有ViewGroup的子类成为"Layout& ...
- js动态绑定click事件时function传参问题
今天碰到了这样一个问题,我在javascript中动态创建了一个button, 然后我想给改button添加click事件,绑定的function想要传入一个变量参数, 一开始我想直接通过函数传参传进 ...
- 原创 C++作用域 (二)
2.3全局作用域 2.3.1概述 全局作用域是最大的名字空间作用域,不同于用户自定义的名字空间作用域,全局作用域不需要显示地定义,它天然存在于C++程序中.全局作用域是一个最外层的容器,是所有作用域的 ...
- datatable和list的转换
在开发中,把查询结果以DataTable返回很方便,但是在检索数据时又很麻烦,没有list<T>检索方便.但是数据以ILIST形式返回,就为我们在.NET中使用传统的数据绑定造成了不便.下 ...