本文让大家迅速掌握springMVC的使用方法,以最简单的方式理解此框架

一、用eclipse新建一个web项目,命名为springMVC1,tomcat的端口号为9090

二、在WEB-INF目录下的lib文件夹中添加所需要的jar包

  上面所添加的jar包,只要从网上下载都是都有的

三、编辑web.xml文件,在WEB-INF目录下

  

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>springMVC1</display-name>
    <!-- 标签<welcome-file>就是直接访问http://localhost:9090/springMVC1此项目时直接跳转到设置的页面-->
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <servlet>
      <!-- 下面的springMVC和DispatcherServlet就是设置让springMVC获取到用户的所有请求-->
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
      <!-- 下面的contextConfigLocation和spring-servlet.xml就是设置springMVC配置文件,来获取框架的上下文信息-->
<param-name>contextConfigLocation</param-name>
               <param-value>classpath*:config/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
      <!--一定要和上面配置的<servlet-name>名称一致,过滤上面获取的用户请求,下面设置就意味着接收所有的请求-->
<servlet-name>springMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>

四、编写控制器,在src目录下,新建包com.tgb.web.controller,在此包下新建java类HelloWorldController.java

 package com.tgb.web.controller;

 import java.util.HashMap;
import java.util.Map; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller; public class HelloWorldController implements Controller { @Override
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
System.out.println("------这是控制方法-----");
Map<String,Object> map=new HashMap<String,Object>();
map.put("hello1", "hello1");
map.put("hello2", "hello2");
map.put("hello3", "hello3");
String hello = "你好啊";
String url="/welcome";
return new ModelAndView(url,"map",map);
}
}
根据springMVC规范HelloWorldController要实现接口Controller和方法,这里大家暂时先这么用,最原始的访问方法,后面会和大家说全部用注解的形式访问,实现的方法返回的是ModelAndView,它可以直接returna new ModelAndView(url,"map",map),url就是跳转的页面地址,map就是传递到jsp页面的数据对象

五、编写jsp页面,在WEB-INF目录下,新建jsp文件夹,新建welocme.jsp文件

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!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>Insert title here</title>
</head>
<body>
这是我的第一个jsp页面!!!!!!!++++++++++
<br/>
<h>传递的数据</h>
${hello}
${map.hello2}
<div> <c:forEach items="${map}" var="m">
${m.key }======${m.value }<br/>
</c:forEach>
</div>
</body>
</html>

六、以上有了控制层和页面,那么我怎么让springMVC知道我的这些资源呢,并且能够请求?那么解决方法就是上上面提到的springMVC的上下文文件spring-servlet.xml,在src目录下,新建包config文件夹,然后创建spring-servlet.xml文件

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!--name="/test1/helloworld" 就是要访问控制器的路径,然后进入这个控制方法-->
<bean name="/test1/helloworld" class="com.tgb.web.controller.HelloWorldController" /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>

七、部署编辑

  直接在浏览器的地址栏里输入http://localhost:9090/springMVC1/test1/helloworld

八、控制器里包含多个方法

  1.新建包含多个方法的控制器multiController.java

  

package com.tgb.web.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController; public class MultiController extends MultiActionController {
  //定义add的方法,在url中访问http://localhost:9090/springMVC1/test1/multi?action=add
public ModelAndView add(HttpServletRequest request,HttpServletResponse respose){
System.out.println("add");
String method="add";
return new ModelAndView("/multi","method",method);
}
//定义update方法,在url中访问http://localhost:9090/springMVC1/test1/multi?action=update
public ModelAndView update(HttpServletRequest request,HttpServletResponse respose){
System.out.println("update");
String method="update";
return new ModelAndView("/multi","method",method);
} }

  2.新建多方法跳转的jsp,multi.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!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>控制器中多个方法跳转的页面</title>
</head>
<body>
<h>控制器中多个方法跳转的页面</h>
本次方法是${method }
<br/>
<h>传递的数据</h>
${hello}
${map.hello2}
<div> <c:forEach items="${map}" var="m">
${m.key }======${m.value }<br/>
</c:forEach>
</div>
</body>
</html>

  3.在spring-servlet.xml里添加springMVC多方法解析包

 <bean name="/test1/multi" class="com.tgb.web.controller.MultiController" >
<property name="methodNameResolver">
<ref bean="paramMethodResolver"/>
</property>
</bean>
<!--加载springMVC的多方法解析包,标签<property>中name固定为paramName,value的值是可以改变的,在访问路径里需要用到,例如http://localhost:9090/springMVC1/test1/multi?action=add-->
<bean id="paramMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver" >
<property name="paramName" value="action"></property>
</bean>

学习springMVC实例1——配置和跳转到HelloWorld的更多相关文章

  1. springmvc学习路线1-基本配置

    1.第一个springmvc实例helloword 关键点拨 1.1 web.xml文件的配置 <servlet> <servlet-name>springMVC</se ...

  2. Nginx配置域名跳转实例

    要求:浏览器地址栏输入qj.123.com之后,地址自动变成qj.abc.com 配置nginx跳转 server { listen 80; server_name qj.abc.com qj.123 ...

  3. 学习SpringMVC——从HelloWorld开始

    前言: 时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力,霸气夺冠,为中国赢得了一枚意义非常的金牌.这是一次全民的狂欢,一场视听盛宴,带给我们不仅是熠熠生辉的金牌,更传递出的是一种女排 ...

  4. SpringMVC框架入门配置 IDEA下搭建Maven项目

    初衷:本人初学SpringMVC的时候遇到各种稀奇古怪的问题,网上各种技术论坛上的帖子又参差不齐,难以一步到位达到配置好的效果,这里我将我配置的总结写到这里供大家初学SpringMVC的同僚们共同学习 ...

  5. 学习笔记_J2EE_SpringMVC_03_注解配置_@RequestMapping用法

    @RequestMappingde的用法 摘要: 主要介绍注解@RequestMapping的用法 一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMappi ...

  6. 学习笔记_J2EE_SpringMVC_02_注解配置

    SpringMVC注解配置 1.测试环境: 名称 版本 备注 操作系统 Windows10 专业版1809X64   WEB服务器 Tomcat 8.5 X64   浏览器 Google Chrome ...

  7. springmvc web.xml配置之 -- SpringMVC IOC容器初始化

    SpringMVC IOC容器初始化 首先强调一下SpringMVC IOC容器初始化有些特别,在SpringMVC中除了生成一个全局的spring Ioc容器外,还会为DispatcherServl ...

  8. haproxy学习——简介、基本配置(二)

    官网:http://www.haproxy.org/ 个人感觉haproxy学习的重点在于配置上,把配置文档搞懂了就明白大部分套路了.不过本篇内容属于入门学习:1.使用haproxy简单的实现负载均衡 ...

  9. [转]SpringMVC框架入门配置 IDEA下搭建Maven项目

    初衷:本人初学SpringMVC的时候遇到各种稀奇古怪的问题,网上各种技术论坛上的帖子又参差不齐,难以一步到位达到配置好的效果,这里我将我配置的总结写到这里供大家初学SpringMVC的同僚们共同学习 ...

随机推荐

  1. Tribles(概率)

    Description   Problem ATribblesInput: Standard Input Output: Standard Output GRAVITATION, n."Th ...

  2. 字符串(多串后缀自动机):HDU 4436 str2int

    str2int Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total S ...

  3. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  4. www.chenbowenblog.com 博客地址转移

    我的新博客地址是 www.chenbowenblog.com 欢迎来访.

  5. JAVA工程师面试总结

    HR面: 你为什么要离职?如果是公司层面的,公司为什么要这么做? 你的理想薪资?你觉得你有什么优势胜任你应聘的工作? 你的未来发展规划? BOSS面: 项目的东西,hibernate调优?使用了什么数 ...

  6. pygame学习资料

    pygame下载地址: https://bitbucket.org/pygame/pygame/downloads 12岁的少年教你用Python做小游戏 Beginning Game Program ...

  7. Period - HDU 1358(next求循环节)

    题目大意:有一个长N的字符串,如果前缀Ni是一个完全循环的串(循环次数大于1),输出Ni和它循环了多少次.   分析:输入next的应用,求出来next数组直接判断Ni是否是完全的循环就行了,也就是N ...

  8. C#与java中的集合区别

    集合一般的操作       插入: add       删除: remove       查找: contains,remove java中的集合 注意哪些是接口,哪些是实现类 使用集合的时候 1. ...

  9. 关于连不上dc服务器的机器强行退出域的方法

    有时加入域的计算机无法连接到之前的域了,只能强制退出域了,有两个前提条件:   1.断开网络,就是拔掉网线或者禁用网卡.   2.使用本地管理员登陆.   然后命令行执行如下命令即可:   netdo ...

  10. python-selenium实现的简易下载器,并常见错误解决

    简易下载器的实现 支持代理.失败重试.确保包含指定ID元素(可根据需求自定义修改) # coding: utf-8 from Utils import logging from bs4 import ...