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实现了断路器库 ...
随机推荐
- HTML5笔记1——HTML5的发展史及标签的改变
记得第一次接触HTML5还是在<联信永益>实习那会儿(2011),当时一个项目技术选型的时候面临两种选择,分别是Silverlight和HTML5,那是用的最新的IE浏览器版本还是IE9, ...
- List Set Map
List Set 都是接口,都继承了Collection接口 ArrayList LinkList 直接实现了List接口 HashSet 实现了Set接口 TreeSet继承父类AbstractS ...
- mysql 插入数据失败防止自增长主键增长的方法
mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...
- 怎样才能自学好Java?
经常有初学Java的同学问:怎么样才能学好Java?自学Java难吗? 我认为自学Java并不难.相对于其他语言来说,因为Java95年才出来,所以相对比较新,旧的语言中一些不合适的东西在Java里面 ...
- ASP.NET中后台数据和前台控件的绑定
关于ASP.NET中后台数据库和前台的数据控件的绑定问题 最近一直在学习个知识点,自己创建了SQL Server数据库表,想在ASP.NET中连接数据库,并把数据库中的数据显示在前台,注意,这里的数据 ...
- CSS代码规范
空格 选择器 与 { 之间必须包含空格. 列表型属性值 书写在单行时,, 后必须跟一个空格. 属性名 与之后的 : 之间不允许包含空格, : 与 属性值 之间必须包含空格. margin: 0; .+ ...
- 获得设备的唯一标识符UDID
在IOS5之后,苹果为避免根据UDID获得用户的信息,而禁止使用uniqueIdentifier获得UDID,但是仍有些应用需要根据UDID区分设备 有一个系统的库IOKit.framework可以获 ...
- Android关于listView的BaseAdapter以及getView的三级优化
1.4个重写方法的含义 自定义Adapter继承自BaseAdapter(通用适配器) getCount(); getItem(); getItemId(); getViewTypaCount() ...
- tableView显示第一个cell有偏移问题
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 0 ...
- Android中使用GridView和ImageViewSwitcher实现电子相册简单功能
我们在手机上查看相册时,首先看到的是网格状的图片展示界面,然后我们选择想要欣赏的照片点击进入,这样就可以全屏观看该照片,并且可以通过左右滑动来切换照片.如下图的显示效果: 首先我们先罗列一下本次实现所 ...