SpringMVC注解HelloWorld

今天整理一下SpringMVC注解

欢迎拍砖

@RequestMapping

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

RequestMapping注解有六个属性,下面我们把她分成三类进行说明。

1、 value, method;

value:     指定请求的实际地址,指定的地址可以是URI Template 模式(后面将会说明);

method:  指定请求的method类型, GET、POST、PUT、DELETE等;


2、 consumes,produces;

consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

produces:    指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;


3、 params,headers;

params: 指定request中必须包含某些参数值是,才让该方法处理。

headers: 指定request中必须包含某些指定的header值,才能让该方法处理请求。

 

写的不错就转过来了原址:http://blog.csdn.net/kobejayandy/article/details/12690041

Controller

在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。

@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器,这个接下来就会讲到。    单单使用@Controller 标记在一个类上还不能真正意义上的说它就是SpringMVC 的一个控制器类,因为这个时候Spring 还不认识它。那么要如何做Spring 才能认识它呢?这个时候就需要我们把这个控制器类交给Spring 来管理

代码

引包,建包不多讲

配置web.xml

<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>SpringMVC</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置DispatcherServlet的一个初始化参数  配置springMVC配置文件的位置和名称--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><url-pattern>/</url-pattern>      </servlet-mapping>
</web-app>

配置springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"><!-- 启用spring mvc注解 --><context:annotation-config></context:annotation-config><!--  配置自动扫描包 --><context:component-scan base-package="com.hdxy.domian"></context:component-scan><!-- 配置视图解析器:如何把handler返回为实际的物理视图 --><!-- 对转向页面的路径解析。prefix:前缀,suffix: 后缀   如:http://127.0.0.1:8080/springmvc/jsp/****.jsp--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/views/"></property><property name="suffix" value=".jsp"></property></bean>
</beans>

配置index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!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>Hello World</title>
</head>
<body><a href="helloworld">Hello World</a>
</form> 
</body>
</html>

其他两个jsp页面随便写一下就好

Ok重点来了

Test.java

package com.hdxy.domian;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
/*** @author 流年拓荒者**/
@Controller
public class Test {final public String SUCCESS="loginSuccess";@RequestMapping("/helloworld")public String HelloWorld(){System.out.println("你好");return SUCCESS;}
}

    /*   1.使用@RequestMapping注解来映射请求的Url
     *   2.返回值会通过视图解析器解析为实际的物理视图
     *     对于InternalResourceViewResolver
     *    通过prefix+ returnVal+ 后缀这样的方式得到的实际物理视图,然后做转发操作
     *
     *    /WEB-INF/views/loginSuccess.jsp
     * /

 

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

转载于:https://www.cnblogs.com/lnthz/p/7851893.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自制 移动端 纯原生 Slider滑动插件

在Google搜关键字“slider”或“swiper”能找到一大堆相关插件&#xff0c;自己造轮子是为了能更好的理解其中的原理。 给这个插件取名为“veSlider”是指“very easy slider”非常简单的一个滑动插件。 这只是个半成品&#xff0c;仅仅实现了手指滑动、自动轮播、跳转等基本功…

ISA Server 2006 部署步骤

ISA Server 2006 部署步骤 Posted by 尹揆 在这里先把ISA2006的安装步骤给大家贴出来,后面陆续会有一些配置及日常的应用,希望大家多多指教!呵呵.ISA功能的强大自然不用多说了,一句话只要能想到它就能做到!放入光盘出现在我们面前还是其人性化的界面点默认的下一步吧接受协议序…

mysql将查询数据另存

1.查询mysql的存储执行目录&#xff08;secure-file-priv是指定文件夹作为导出文件存放的地方&#xff09;所以需要查询以下&#xff0c;不然会报1290错误 show variables like %secure%;2.查询并转存 SELECT * into outfile C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\zo…

重新捡起flask(三)

记一次bug调试。 本来以为模板这一章可以很快的过掉的&#xff0c;刚刚写完的2其实只剩下个flask-moment时间库了&#xff0c;之前早就做过&#xff0c;记得很简单&#xff0c;本来说只要敲一下代码就结束&#xff0c;没想到&#xff0c;踩坑里去了。 调试bug吗&#xff0c;我想…

远程服务器部署spring boot 项目(centos7为例)

1.打包项目&#xff08;可以是jar包&#xff0c;也可以是war包&#xff09;以jar包为例&#xff08;用eclipse打包&#xff09;&#xff1a;1.项目目录右击--debug as&#xff08;run as&#xff09;--maven build&#xff0c;然后输入package&#xff0c;点击debug&#xff0c…

SIN的服务器配置

统计了新加坡服务器中IBM XIV存储挂载的主机列表。 对于vmware虚拟机来说&#xff0c;是这么组成的&#xff1a; 存储分了多个lun&#xff0c;在os侧叫做data store&#xff0c;多个datastore挂给多个物理机&#xff0c;物理机(安装了esxi软件)称为ESXI主机&#xff0c;多个ESX…

sklearn机器学习实例

原创网址&#xff1a;https://blog.csdn.net/qq_27150893/article/details/80169736 sklearn是非常流行的机器学习库&#xff0c;实现了很多的机器学习模型。官网&#xff1a;http://scikit-learn.org/stable/ 里面有全面的实例和模型参数讲解&#xff0c;用到哪个模型就去官…

CSVDE批量导入域用户

CSVDE批量导入用户 你可以使用Csvde格式的文件在活动目录中创建用户帐号和其他类型的帐号。但你不能使用Csvde删除活动目录中的对象。 使用Csvde命令行工具创建用户帐号&#xff0c;采用下列步骤&#xff1a; 1. 创建Csvde输入文件。文件应包含下列信息。 属性行&#xff1a;这…

【转载】细聊冗余表数据一致性(架构师之路)

本文主要讨论四个问题&#xff1a; &#xff08;1&#xff09;为什么会有冗余表的需求 &#xff08;2&#xff09;如何实现冗余表 &#xff08;3&#xff09;正反冗余表谁先执行 &#xff08;4&#xff09;冗余表如何保证数据的一致性 一、需求缘起 互联网很多业务场景的数据量…

ethtool如何让接口闪灯_如何解决专业家庭影院与卡拉OK的声学问题?

现在越来越多的专业家庭影院走进人们的家中&#xff0c;享受体验娱乐氛围的空间。在实际的生活中&#xff0c;许多人都把这个空间设计为多功能的影音娱乐室&#xff0c;集看电影、听音乐、卡拉OK、游戏娱乐等于一体&#xff0c;在这其中看电影与卡拉OK将这两个功能组合在同一个…

关于MapReduce单词统计的例子:

要统计的文件的文件名为hello hello中的内容如下 hello  you hello  me 通过MapReduce程序统计出文件中的各个单词出现了几次.(两个单词之间通过tab键进行的分割) 1 import java.io.IOException;2 3 import mapreduce.WordCountApp.WordCountMapper.WordCountReducer;4 5 i…

朵朵糖故事机器人怎么更新_“故事贩卖机”专栏创始人温酒的新作,奇幻世界的暖心物语很治愈...

我有酒&#xff0c;你有故事吗&#xff1f;2015年&#xff0c;知乎上一个叫“故事贩卖机”的专栏横空出世&#xff0c;凭着一个个脑洞大开的故事&#xff0c;这个温吞而又温暖的专栏很快得到了读者的认可。而其中的创始人兼主打写手温酒&#xff0c;更是被粉丝们亲切地称呼为“…

使用dropwizard(3)-加入DI-dagger2

前言 习惯了Spring全家桶&#xff0c;对spring的容器爱不释手。使用dropwizard&#xff0c;看起来确实很轻&#xff0c;然而&#xff0c;真正使用的时候不得不面临一个问题。我们不可能一个resource就能把所有的业务逻辑囊括&#xff01;那么&#xff0c;必然就要有负责处理逻辑…

日历对象导哪个包_微信新表情瞬间炸裂,文物表情包永恒萌呆!

11月18日晚微信上架了6个全新表情瞬间炸裂网友一天时间阅读达16.2亿&#xff0c;讨论15.8万次#微信新表情#话题翻白眼、666、让我看看叹气、苦涩、裂开微信新表情虽然666但文物表情包的呆萌也能让人瞬间裂开更能完全诠释我的各(bu)种(wen ding)情绪先对比一下最新的6个表情[翻白…

Tensorflow一些常用基本概念与函数(1)

文章转至 作者&#xff1a;林海山波出处&#xff1a;https://me.csdn.net/lenbow版权&#xff1a;本文版权归作者和CSDN博客共有 写这篇博客只为自己学习路上做个笔记&#xff0c;方便自己学习记忆&#xff0c;大家如果想看详细文章可以去原作者主页去看&#xff0c;同时他…

蓝牙连接不上车要hfp_如何正确使用车载蓝牙播放器呢?

车载蓝牙是以无线蓝牙技术为基础而设计研发的车内无线免提系统。可以连接我们设计进行听歌和打电话十分方便&#xff0c;下面诺金小编带大家一起来看看&#xff01;下面诺金小编带大家一起来看看一、首先是把手机和车载蓝牙播放器打开&#xff0c;搜索车载蓝牙播放器“809”&am…

使用Eclipse+PyDev创建Django项目一windows下

开发条件&#xff1a;eclipsepydev插件django editor插件 关于eclipse安装小编就不多做介绍&#xff0c;我自己用的版本如下 1.安装pydev插件 启动Eclipse, 点击Help->Install New Software 弹出如下框 点击add 分别在 Name中填:Pydev, Location中填http://pydev.org/up…

查询空缺_携程旅行2021校招开启,9大类职位,1000+岗位空缺,本科及以上学历...

携程旅行2021秋季校招正式开启&#xff01;携程集团(纳斯达克股票代码&#xff1a;TCOM)是一家领先的在线旅游服务提供商&#xff0c;旗下品牌包括携程、Trip.com、天巡和去哪儿。携程集团能够整合复杂的旅游相关信息并通过其先进的移动端App、网站以及24小时无间断的免费客户服…

Django web开发笔记

一、Django开发环境搭建&#xff1a; 1.安装python&#xff1a;django可运行于版本python 2.7、3.x 2.安装相应的IDE 3.安装pip&#xff1a;sudo apt-get install python-pip(linux为例&#xff09; 4.安装django&#xff1a;1&#xff09;pip安装&#xff1a;sudo pip ins…

android 前置摄像头预览时 镜像翻转_全面屏时代,原来手机前置摄像头都隐藏着一些缺点,你发现了吗?...

随着真全面屏时代的到来&#xff0c;人们已经不再满足于刘海屏、水滴屏以及挖孔屏等&#xff0c;越来越多的手机厂商和消费者开始追求"100%全面屏"。于是如何解决手机前置摄像头便成了最大的难题&#xff0c;毕竟只要在屏幕上放置摄像头必然会影响屏占比&#xff0c;…