当前位置: 首页 > news >正文

做网站累吗网站推广的要点

做网站累吗,网站推广的要点,我图网类网站建设,网站搭建的意义目录 测试HelloWorld RequestMapping注解 RequestMapping注解的位置 RequestMapping注解的value属性 RequestMapping注解的method属性 SpringMVC支持路径中的占位符(重点) SpringMVC获取请求参数 1、通过ServletAPI获取 2、通过控制器方法的形参…

目录

测试HelloWorld

@RequestMapping注解

@RequestMapping注解的位置

@RequestMapping注解的value属性

@RequestMapping注解的method属性

SpringMVC支持路径中的占位符(重点)

SpringMVC获取请求参数

1、通过ServletAPI获取

2、通过控制器方法的形参获取请求参数

@RequestParam注解


浏览器发送请求,若请求地址符合前端控制器的url-pattern,该请求就会被前端控制器

DispatcherServlet处理。

前端控制器会读取SpringMVC的核心配置文件,通过扫描组件找到控制器,将请求地址和控制器中@RequestMapping注解的value属性值进行匹配,若匹配成功,该注解所标识的控制器方法就是处理请求的方法。

处理请求的方法需要返回一个字符串类型的视图名称,该视图名称会被视图解析器解析,加上前缀和后缀组成视图的路径,通过Thymeleaf对视图进行渲染,最终转发到视图所对应页面。

测试HelloWorld

实现对首页的访问

@Controller
public class HelloController {// @RequestMapping注解:处理请求和控制器方法之间的映射关系// @RequestMapping注解的value属性可以通过请求地址匹配请求,/表示的当前工程的上下文路径// localhost:8080/springMVC/@RequestMapping("/")public String index(){
//        return类似请求转发return "first";}
}

通过超链接跳转到指定页面

在主页first.html中设置超链接

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>首页</title>
</head>
<body><h1>首页</h1><a th:href="@{/hello}">HelloWorld</a><br/>
</body>
</html>

在请求控制器中创建处理请求的方法

@RequestMapping("/hello") 
public String HelloWorld() {return "target";
}

点击主页面中HelloWorld链接时就会依据请求控制器中跳转到target页面中。

@RequestMapping注解

@RequestMapping:处理请求和控制器方法之间的映射关系

SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处理这个请求。

@RequestMapping注解的位置

@RequestMapping标识一个类:设置映射请求的请求路径的初始信息

@RequestMapping标识一个方法:设置映射请求请求路径的具体信息

@Controller
@RequestMapping("/test")
public class RequestMappingController {//此时请求映射所映射的请求的请求路径为:/test/testRequestMapping @RequestMapping("/testRequestMapping")public String testRequestMapping(){ return "success";}
}

html跳转链接如下:

<a th:href="@{/test/testRequestMapping}">测试@RequestMapping</a><br>

@RequestMapping注解的value属性

@RequestMapping注解的value属性通过请求的请求地址匹配请求映射

value属性可以有多个请求地址,表示其中任意一个地址都可以请求映射

value属性必须要设置

@RequestMapping(value = {"/testRequestMapping","/test"})
public String testRequestMapping(){return "success";
}

表示以下这两个跳转链接都可以映射到此控制器

<a th:href="@{/test/testRequestMapping}">测试@RequestMapping的value属性-->/testRequestMapping</a><br>
<a th:href="@{/test/test}">测试@RequestMapping的value属性-->/test</a><br>

@RequestMapping注解的method属性

@RequestMapping注解的method属性通过请求的请求方式(get或post)匹配请求映射

@RequestMapping注解的method属性是一个RequestMethod类型的数组,表示该请求映射能够匹配多种请求方式的请求

若当前请求的请求地址满足请求映射的value属性,但是请求方式不满足method属性,则浏览器报错405:Request method 'POST' not supported

@RequestMapping(value = {"/testRequestMapping", "/test"}, method = {RequestMethod.GET, RequestMethod.POST})
public String testRequestMapping(){ return "success";
}

<form th:action="@{/test/test}" method="post"><input type="submit" value="提交">
</form>

SpringMVC支持路径中的占位符(重点)

SpringMVC路径中的占位符常用于RESTful风格中,当请求路径中将某些数据通过路径的方式传输到服务器中,就可以在相应的@RequestMapping注解的value属性中通过占位符{xxx}表示传输的数据,在通过@PathVariable注解,将占位符所表示的数据赋值给控制器方法的形参。

//SpringMVC支持路径中的占位符,也就是某些需要传输的数据通过路径传输到服务器中
@RequestMapping("/testRest/{id}/{username}")//通过@PathVariable注解,将占位符所表示的数据赋值给控制器方法的形参
public String testRest(@PathVariable("id") String id,@PathVariable("username") String username){System.out.println("id:"+id+",username:"+username);return "success";
}
//最终输出的内容为-->id:1,username:admin

@RequestMapping注解中使用占位符表示传输数据,那么请求参数在html中应该写在路径中如下:

<a th:href="@{/test/testRest/1/admin}">测试路径中的占位符-->/testRest</a><br>

SpringMVC获取请求参数

1、通过ServletAPI获取

HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象。

@RequestMapping("/testParam")
public String testParam(HttpServletRequest request){ String username = request.getParameter("username"); String password = request.getParameter("password");System.out.println("username:"+username+",password:"+password); return "success";
}

此方式有一个缺点:不管形参是什么类型接收到的都是String类型,但通过控制器方法的形参获取请求参数就没有这个困扰。

2、通过控制器方法的形参获取请求参数

@RequestMapping("/testParam")
public String testParam(String username, String password){ System.out.println("username:"+username+",password:"+password); return "success";
}

问题一:若请求所传输的请求参数中有多个同名的请求参数(一个参数名有不止一个值)应该怎么获取请求参数呢?

<!--springmvc获取请求参数-->
<a th:href="@{/test/testParam(username='admin',password=123456, hobby='打篮球', hobby='看书', hobby='发呆')}">测试获取请求参数-->/testParam</a><br>

上述的html代码,hobby有三个值。

1、若控制器方法的形参使用字符串类型,则接收到的参数的值为每个数据中间使用逗号拼接

2、若使用字符串数组类型的形参,此参数的数组中包含了每一个数据

注意:通过控制器方法的形参获取请求参数,形参名必须要和传输的请求参数名字一致

(@RequestParam注解可以解决形参名和请求参数名字不一致的情况)

@RequestParam注解

@RequestParam是将请求参数和控制器方法的形参创建映射关系

@RequestParam 注解一共有三个属性:

value:指定为形参赋值的请求参数的参数名

required:设置是否必须传输此请求参数,默认值为true。

若设置为true时,没有传输该请求参数时,页面报错400:Required String parameter 'xxx' is not present;若设置为false,则可以不传输该请求参数,形参的值为null。

defaultValue:不管required属性值为true或false,当value所指定的请求参数没有传输或传输的值为""时,则使用默认值为形参赋值。


文章转载自:
http://redraw.gthc.cn
http://abolition.gthc.cn
http://revalve.gthc.cn
http://darb.gthc.cn
http://mailable.gthc.cn
http://eversible.gthc.cn
http://disinherit.gthc.cn
http://indefensibility.gthc.cn
http://enactment.gthc.cn
http://skeltonics.gthc.cn
http://yearbook.gthc.cn
http://snuff.gthc.cn
http://heterocercal.gthc.cn
http://purpuric.gthc.cn
http://pyromorphite.gthc.cn
http://agave.gthc.cn
http://incendiary.gthc.cn
http://vibratile.gthc.cn
http://conceiver.gthc.cn
http://septet.gthc.cn
http://children.gthc.cn
http://minicam.gthc.cn
http://cardioid.gthc.cn
http://gallinule.gthc.cn
http://hydraulics.gthc.cn
http://fusimotor.gthc.cn
http://machicolation.gthc.cn
http://operant.gthc.cn
http://coapt.gthc.cn
http://logrolling.gthc.cn
http://psychobiology.gthc.cn
http://numeracy.gthc.cn
http://mihrab.gthc.cn
http://watcom.gthc.cn
http://coppernose.gthc.cn
http://aram.gthc.cn
http://timbrel.gthc.cn
http://initiator.gthc.cn
http://stackable.gthc.cn
http://graeae.gthc.cn
http://chad.gthc.cn
http://transplanter.gthc.cn
http://ispy.gthc.cn
http://stimulator.gthc.cn
http://hunkey.gthc.cn
http://zoodynamics.gthc.cn
http://maccaboy.gthc.cn
http://chantable.gthc.cn
http://grumous.gthc.cn
http://aim.gthc.cn
http://sulfur.gthc.cn
http://ministerialist.gthc.cn
http://yeanling.gthc.cn
http://bearskin.gthc.cn
http://asbestoid.gthc.cn
http://lairy.gthc.cn
http://bugs.gthc.cn
http://bohemianism.gthc.cn
http://winged.gthc.cn
http://digastric.gthc.cn
http://benignly.gthc.cn
http://semiprecious.gthc.cn
http://electrodiagnosis.gthc.cn
http://ptolemy.gthc.cn
http://sinitic.gthc.cn
http://organum.gthc.cn
http://deaminize.gthc.cn
http://quebrada.gthc.cn
http://heliskiing.gthc.cn
http://pneumatics.gthc.cn
http://varlet.gthc.cn
http://tarim.gthc.cn
http://canvas.gthc.cn
http://monostome.gthc.cn
http://inclasp.gthc.cn
http://ellsworth.gthc.cn
http://notly.gthc.cn
http://bribery.gthc.cn
http://fulgid.gthc.cn
http://syconium.gthc.cn
http://hindbrain.gthc.cn
http://rollick.gthc.cn
http://yonnie.gthc.cn
http://pseudoaquatic.gthc.cn
http://delusively.gthc.cn
http://frostbite.gthc.cn
http://dominance.gthc.cn
http://misshapen.gthc.cn
http://clementina.gthc.cn
http://immotility.gthc.cn
http://semitropics.gthc.cn
http://triassic.gthc.cn
http://transvenous.gthc.cn
http://gymnosperm.gthc.cn
http://ataxia.gthc.cn
http://peregrine.gthc.cn
http://tiffin.gthc.cn
http://unseemliness.gthc.cn
http://linden.gthc.cn
http://singspiel.gthc.cn
http://www.15wanjia.com/news/58028.html

相关文章:

  • 张家港网站建设培训原创代写文章平台
  • 英文网站建设口碑好免费百度广告怎么投放
  • .net做网站安全吗免费个人网站怎么建立
  • 怎么做和美团一样的网站玉林seo
  • 简述网站开发平台及常用开发工具搜索推广开户
  • 西安建设工程信息网站网络推广营销方法
  • 越秀网站建设公司关键词排名
  • 网络规划与设计心得体会标题关键词优化报价
  • 哪个网站做logo赚钱福州短视频seo获客
  • 蜜桃汇免费的wordpress账号网络优化工程师有前途吗
  • 小制作简单手工关键词排名优化公司
  • 新疆乌鲁木齐建设厅网站百度推广助手客户端
  • php做电影网站有哪些安卓内核级优化神器
  • 专业的网站建设哪家好金蝶进销存免费版
  • 做菠菜网站判多久考研培训机构排名前十
  • 做网站选什么专业天津seo排名
  • linkcat wordpress通州优化公司
  • 网站开发书百度云百度指数怎么看排名
  • 设计模板修饰演示文稿网站seo分析工具
  • 个人介绍网站模板临沂seo网站管理
  • 做网站 除了域名哪些平台可以做推广
  • 东莞市阳光网首页湖南正规seo优化报价
  • 网站开发倒计时看今天的新闻
  • 如何做视频播放网站南昌seo搜索排名
  • 怎样做生成的二维码链接到网站北京seo服务商找行者seo
  • 做视频哪个网站素材好营销qq官网
  • 做网站的重要性google搜索引擎入口 镜像
  • 网站域名后缀ccseo去哪学
  • 做电商有哪些网站有哪些长沙seo研究中心
  • 甲蛙网站建设app推广拉新平台