热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

初探SpringMVC框架:首日入门指南

2019独角兽企业重金招聘Python工程师标准1.搭建环境2.如何完成Controller和Viewer的映射3.如何把值传递给Controller4.Controller

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.     搭建环境

2.     如何完成Controller和Viewer的映射

3.     如何把值传递给Controller

4.     Controller如何把值传递给Viewer

5.     异常处理

6.     页面标签

7.     文件上传

8.     深入一下源代码

Spring MVC流程图:

                                             

                                             124540_u51a_2256061.png

1.     环境搭建


web.xml


SpringMvc spring org.springframework.web.servlet.DispatcherServlet 1 spring /




spring-servlet.xml




WelcomeController


package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
public class WelcomeController extends AbstractController
{@Overrideprotected ModelAndView handleRequestInternal(HttpServletRequest request ,HttpServletResponse response) throws Exception {System. out.println("welcome" );return new ModelAndView("welcome");}
}



HelloController


package controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController
{//RequestMapping表示用哪個url 來對應@RequestMapping({ "/hello","/" })public String hello(){System. out.println("hello" );return "hello" ;}@RequestMapping( "/welcome")public String welcome(){return "welcome" ;}
}


源码:http://pan.baidu.com/s/1eQtgvfW

    


2.     如何完成Controller和Viewer的映射

注意:

package controller;
import org.springframework.stereotype.Controller ;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class HelloController
{//RequestMapping表示用哪個url 來對應// @RequestParam ("userName" )如果你不传userName值过来的话会报错,可以省略,不传值为null@RequestMapping({ "/hello","/" })public String hello( @RequestParam("userName" ) String userName){System. out.println("hello" );System. out.println(userName );return "hello" ;}@RequestMapping( "/welcome")public String welcome(){return "welcome" ;}
}

HelloController


package controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController
{  //RequestMapping表示用哪個url 來對應@RequestMapping({ "/hello" ,"/" })public String hello(String userName ,Model model ){System. out .println("hello" );model .addAttribute("userName" , userName );//此时用哪个作变key?它是默认使用的对象的类型作为 key -->model.addAttribute("string", userName);//model.addAttribute(new user());   -->model.addAttribute("user", new user());model .addAttribute(userName );System. out .println(userName );return "hello" ;}@RequestMapping( "/welcome" )public String welcome(){return "welcome" ;}
}


hello.jsp

<%&#64; page language&#61; "java" contentType &#61; "text/html; charset&#61;utf-8"pageEncoding &#61;"utf-8" %>

< html>
< head>
< meta http-equiv &#61;"Content-Type" content&#61; "text/html; charset&#61;utf-8">
< title> Insert title here 

< body> Hello&#xff01;${userName }${string }


spring-servlet.xml


< beans xmlns &#61;"http://www.springframework.org/schema/beans"xmlns:xsi &#61;"http://www.w3.org/2001/XMLSchema-instance"xmlns:mvc &#61;"http://www.springframework.org/schema/mvc"xmlns:context &#61;"http://www.springframework.org/schema/context"xsi:schemaLocation &#61;"http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd">


源码&#xff1a; http://pan.baidu.com/s/1o6A0YpG






转:https://my.oschina.net/gengjie2/blog/339746



推荐阅读
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 本文介绍了ArcXML配置文件的分类及其在不同服务中的应用,详细解释了地图配置文件的结构和功能,包括其在Image Service、Feature Service以及ArcMap Server中的使用方法。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文探讨了Java编程的核心要素,特别是其面向对象的特性,并详细介绍了Java虚拟机、类装载器体系结构、Java类文件和Java API等关键技术。这些技术使得Java成为一种功能强大且易于使用的编程语言。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 解决Anaconda安装TensorFlow时遇到的TensorBoard版本问题
    本文介绍了在使用Anaconda安装TensorFlow时遇到的“Could not find a version that satisfies the requirement tensorboard”错误,并提供详细的解决方案,包括创建虚拟环境和配置PyCharm项目。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • iOS 开发技巧:TabBarController 自定义与本地通知设置
    本文介绍了如何在 iOS 中自定义 TabBarController 的背景颜色和选中项的颜色,以及如何使用本地通知设置应用程序图标上的提醒个数。通过这些技巧,可以提升应用的用户体验。 ... [详细]
  • 探讨了在 Spring MVC 框架下,JSP 页面使用 标签时遇到的数据无法正确显示的问题,并提供了可能的原因和解决方案。 ... [详细]
author-avatar
彩红症-患者
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有