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

做网站如何获取收益怎么自己做一个网站平台

做网站如何获取收益,怎么自己做一个网站平台,希腊网站 后缀,网站制作费用开什么发票RequestMapping 💞基本使用💞RequestMapping注解其它使用方式可以修饰类和方法可以指定请求方式可以指定params和headers支持简单表达式支持Ant 风格资源地址配合PathVariable 映射 URL 绑定的占位符注意事项和使用细节课后作业 上一讲, 我们学习的是Spr…

@RequestMapping

  • 💞基本使用
  • 💞@RequestMapping注解其它使用方式
    • 可以修饰类和方法
    • 可以指定请求方式
    • 可以指定params和headers支持简单表达式
    • 支持Ant 风格资源地址
    • 配合@PathVariable 映射 URL 绑定的占位符
    • 注意事项和使用细节
    • 课后作业

上一讲, 我们学习的是SpringMVC系列一: 初识SpringMVC

现在打开springmvc项目

在这里插入图片描述

💞基本使用

RequestMapping注解可以指定控制器/处理器的某个方法的请求的url.
在这里插入图片描述

💞@RequestMapping注解其它使用方式

可以修饰类和方法

1.说明: @RequestMapping注解可以修饰方法, 还可以修饰类. 当同时修饰类和方法时, 请求的url 就是组合 /类请求值/方法请求值

案例
1.com.zzw.web包下 新建UserHandler

@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器, 会注入到容器
public class UserHandler {/*** 1.method=RequestMethod.POST: 表示请求buy目标方法必须是 post* 2.RequestMethod 四个常用选项 POST, GET, PUT, DELETE[后面会详解]* 3.SpringMVC 控制器默认支持GET和POST两种方式** buy()方法请求的url: http://ip:port/工程路径/user/buy* @return*/@RequestMapping(value = "/buy", method = RequestMethod.POST)public String buy() {System.out.println("购买.");return "success";}
}

2.web路径/WEB-INF/pages目录 新建success.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>操作成功</title>
</head>
<body>
<h1>恭喜, 操作成功~</h1>
</body>
</html>

3.web路径下 新建request.jsp, 测试

<body>
<%--解读
1. action="user/buy" 对应 url http://localhost:8080/工程路径/user/buy
--%>
<form action="user/buy" method="post">购买人: <input type="text" name="username"/><br/>购买量: <input type="password" name="nums"/><br/><input type="submit" value="购买">
</form>
</body>

4.访问成功
在这里插入图片描述

可以指定请求方式

1.说明: @RequestMapping可以指定请求方式(post/get/put/delete..), 请求的方式要和指定的一样, 否则报错.

2.SpringMVC控制器默认支持GETPOST两种方式, 也就是你不指定method, 可以接收GETPOST请求

3.应用案例
在这里插入图片描述
在这里插入图片描述

4.当你明确指定了method, 则需要按指定方式请求, 否则会报错.
在这里插入图片描述

可以指定params和headers支持简单表达式

1.param1:表示请求必须包含名为param1的请求参数. 比如 params = "bookId"
2.!param1:表示请求不能包含名为param1的请求参数. 比如 params = "!bookId"
3.param1 = value1:表示请求包含名为param1的请求参数, 且其值必须为value1. 比如 params = "bookId=100"
4.param1 != value1:表示请求包含名为param1的请求参数, 但其值不能为value1. 比如 params = "bookId!=100"
5.{"param1=value1", "param2"}:请求必须包含名为param1, param2的两个请求参数, 且param1参数的值必须为value1. 比如params = {"bookId=100", "price"}


案例
1.修改UserHandler.java增加方法search

@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器, 会注入到容器
public class UserHandler {/*** 解读* 1. params="bookId" 表示请求该目标方法时, 必须给一个bookId参数, 值没有限定* 2. search(String bookId) 表示请求目标方法时, 携带的bookId=100, 就会将请求携带的 bookId*    对应的值, 赋给 String bookId* @param bookId* @return*/@RequestMapping(value = "/find", params = "bookId", method = RequestMethod.GET)public String search(String bookId) {System.out.println("查询书籍 bookId=" + bookId);return "success";}
}

2.修改request.jsp

<body>
<h1>演示params的使用</h1>
<a href="user/find?bookId=100">查询书籍</a>
</body>

3.操作成功
在这里插入图片描述
如果bookId改为bookIdx, 报错
在这里插入图片描述


细节1:如果需要有bookId参数, 并且值为100. 否则报错.

@RequestMapping(value = "/find", params = "bookId=100", method = RequestMethod.GET)

修改request.jsp

<body>
<h1>演示params的使用</h1>
<a href="user/find?bookId=200">查询书籍</a>
</body>

报错
在这里插入图片描述

细节2:需要有bookId参数, 并且值不为100. 否则报错.

@RequestMapping(value = "/find", params = "bookId!=100", method = RequestMethod.GET)

修改request.jsp

<body>
<h1>演示params的使用</h1>
<a href="user/find?bookId=100">查询书籍</a>
</body>

报错
在这里插入图片描述

支持Ant 风格资源地址

1.?: 匹配文件名中的一个字符
2.*: 匹配文件名中的任意字符
3.**: 匹配多层路径

4.举例
/user/*/createUser:匹配/user/aaa/createUser, /user/bbb/createUserURL
/user/**/createUser:匹配/user/createUser, /user/aaa/bbb/createUserURL
/user/createUser??:匹配/user/createUseraa, /user/createUserbbURL

案例
1.修改UserHandler.java增加方法im

@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器, 会注入到容器
public class UserHandler {/*** 要求: 可以配置 /user/message/aa, /user/message/aa/bb/cc* @RequestMapping(value="/message/**") 表示可以匹配多层路径*/@RequestMapping(value = "/message/**")public String im() {System.out.println("发送消息");return "success";}
}

2.修改request.jsp

<body>
<hr><h1>演示Ant风格的请求资源方式</h1>
<a href="user/message/aa">发送消息1</a>
<a href="user/message/aa/bb/cc">发送消息2</a>
</body>

3.测试成功…

配合@PathVariable 映射 URL 绑定的占位符

1.@RequestMapping可以配合@PathVariable映射URL绑定的占位符
2.这样就不需要在url地址上带参数名了, 更加的简洁明了.

案例
1.修改UserHandler.java增加方法register

@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器, 会注入到容器
public class UserHandler {/*** 前端页面: <a href="user/reg/Kristina/300">占位符的演示</a>* (value="/reg/{username}/{userId}"): 表示Kristina=>{username} 300=>{userId}** @return*/@RequestMapping(value = "/reg/{username}/{userId}")public String register(@PathVariable("username") String name,@PathVariable("userId") int id) {System.out.println("接收到参数--" + "username=" + name + "--" + "userId=" + id);return "success";}
}

2.修改request.jsp

<body>
<hr/><h1>占位符的演示</h1>
<a href="user/reg/Kristina/300">占位符的演示</a>
</body>

3.测试成功…

注意事项和使用细节

1.映射的URL, 不能重复

@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器, 会注入到容器
public class UserHandler {@RequestMapping(value = "/hi")public String hi() {System.out.println("hi");return "success";}@RequestMapping(value = "/hi")public String hi2() {System.out.println("hi");return "success";}
}

启动或重新发布时, 会报错. to { [/user/hi]}: There is already 'userHandler' bean method


2.各种简写的方式

@RequestMapping(value=“/buy”,method=RequestMethod.POST) 等价 @PostMapping(value=“/buy”)

简写方式一览: @GetMapping @PostMapping @PutMapping @DeleteMapping
在这里插入图片描述

案例

@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器, 会注入到容器
public class UserHandler {/*** 5.@PostMapping(value="/buy") 等价 @Request(value="/buy", method=RequestMapping.POST)* @return*///@RequestMapping(value = "/buy", method = RequestMethod.POST)@PostMapping(value = "/buy")public String buy() {System.out.println("购买.");return "success";}
}

测试request.jsp

<body>
<form action="user/buy" method="get">购买人: <input type="text" name="username"/><br/>购买量: <input type="password" name="nums"/><br/><input type="submit" value="购买">
</form>
</body>

报错
在这里插入图片描述


3.如果我们确定表单或者超链接会提交某个字段数据比如email, 要求提交的参数名和目标方法的参数名保持一致.

案例
1.修改UserHandler.java增加方法hello3

@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器, 会注入到容器
public class UserHandler {/*** hello3(String email) 表示如果我们的请求参数有 email=xx, 就会将传递的值, 赋给String email* , 要求名称保持一致, 如果不一致, 那么接收不到数据, 而是null* @param email* @return*/@RequestMapping(value = "/hello3")public String hello3(String email) {System.out.println("email=" + email);return "success";}
}

2.测试 浏览器地址栏 输入http://localhost:8080/springmvc/user/hello3?email=978964140@qq.com, 一定要注意提交参数名和后台方法的形参名保持一致, 否则后端接收不到参数

在这里插入图片描述
在这里插入图片描述

3.如果输入一个错误的参数名, 那么后端接收不到数据
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

课后作业

1.熟悉SpringMVC的执行流程图
2.熟悉@RequestMapping注解的使用方式
3.编写一个表单, 以Post的方式提交Computer信息, 后端编写ComputerHandler, 可以接收到信息.


代码实现

1.修改request.jsp

<body>
<h1>电脑信息</h1>
<form action="?" method="post">品牌:<input type="text" name="brand"/><br/>价格:<input type="text" name="price"/><br/>数量:<input type="text" name="nums"/><br/><input type="submit" value="提交">
</form>
</body>

2.com.zzw.web包下 新建ComputerHandler

@RequestMapping(value = "/computer")
@Controller
public class ComputerHandler {//这里一定要注意, info方法的形参名需要和请求的参数名保持一致@PostMapping(value = "/info", params = {"brand", "price", "nums"})public String info(String brand, String price, String nums) {System.out.println("电脑信息--brand=" +  brand+ "--price=" + price + "--nums" + nums);return "success";}
}

3.配置页面访问路径

<form action="computer/info" method="post">

4.测试成功…
在这里插入图片描述


在这里插入图片描述

下一讲, 我们学习SpringMVC系列三: Postman(接口测试工具)


文章转载自:
http://dinncoexodontia.bpmz.cn
http://dinncoharmonics.bpmz.cn
http://dinncoovenwood.bpmz.cn
http://dinncoecuador.bpmz.cn
http://dinnconorevert.bpmz.cn
http://dinncocambo.bpmz.cn
http://dinnconitrotrichloromethane.bpmz.cn
http://dinncohaemoflagellate.bpmz.cn
http://dinncothaumaturge.bpmz.cn
http://dinncojardiniere.bpmz.cn
http://dinncohornswoggle.bpmz.cn
http://dinncodefang.bpmz.cn
http://dinncoheterosphere.bpmz.cn
http://dinncobenthoal.bpmz.cn
http://dinncoastrobleme.bpmz.cn
http://dinncoeuhemeristically.bpmz.cn
http://dinncopalliation.bpmz.cn
http://dinncoalist.bpmz.cn
http://dinncousss.bpmz.cn
http://dinncoconcentrate.bpmz.cn
http://dinncogearlever.bpmz.cn
http://dinncopoltfooted.bpmz.cn
http://dinncoglume.bpmz.cn
http://dinncodissilient.bpmz.cn
http://dinncoacrasia.bpmz.cn
http://dinncocarnie.bpmz.cn
http://dinncoagent.bpmz.cn
http://dinncochronic.bpmz.cn
http://dinncobibliographer.bpmz.cn
http://dinncodeindustrialize.bpmz.cn
http://dinncoapog.bpmz.cn
http://dinncobethought.bpmz.cn
http://dinncowarthog.bpmz.cn
http://dinncogeanticlinal.bpmz.cn
http://dinncokarnaugh.bpmz.cn
http://dinncolithoid.bpmz.cn
http://dinncorisque.bpmz.cn
http://dinncoodille.bpmz.cn
http://dinncoghee.bpmz.cn
http://dinncohyetography.bpmz.cn
http://dinncoinstall.bpmz.cn
http://dinncochibouk.bpmz.cn
http://dinncoglassine.bpmz.cn
http://dinncotraitoress.bpmz.cn
http://dinncovig.bpmz.cn
http://dinncomassachusetts.bpmz.cn
http://dinncoglibly.bpmz.cn
http://dinncoorthopedist.bpmz.cn
http://dinncochemotherapy.bpmz.cn
http://dinncodunno.bpmz.cn
http://dinncotuboid.bpmz.cn
http://dinncoreact.bpmz.cn
http://dinncoligure.bpmz.cn
http://dinncoredefect.bpmz.cn
http://dinncotrimming.bpmz.cn
http://dinncotired.bpmz.cn
http://dinncocoloured.bpmz.cn
http://dinncoismailiya.bpmz.cn
http://dinncovicara.bpmz.cn
http://dinncorecreate.bpmz.cn
http://dinncoesophagoscopy.bpmz.cn
http://dinncolippie.bpmz.cn
http://dinncocynomolgus.bpmz.cn
http://dinncotypecast.bpmz.cn
http://dinncocommixture.bpmz.cn
http://dinncoakala.bpmz.cn
http://dinncoquartation.bpmz.cn
http://dinncocultus.bpmz.cn
http://dinncochicle.bpmz.cn
http://dinncologged.bpmz.cn
http://dinncobaptistery.bpmz.cn
http://dinncocounterword.bpmz.cn
http://dinncoswitchgrass.bpmz.cn
http://dinncocompact.bpmz.cn
http://dinncosensoria.bpmz.cn
http://dinncoencyst.bpmz.cn
http://dinncostroboscopic.bpmz.cn
http://dinncosyncom.bpmz.cn
http://dinncodormie.bpmz.cn
http://dinncoannihilable.bpmz.cn
http://dinncotwybill.bpmz.cn
http://dinncoanthema.bpmz.cn
http://dinncovigo.bpmz.cn
http://dinncohandwriting.bpmz.cn
http://dinncothersites.bpmz.cn
http://dinncoaeolotropy.bpmz.cn
http://dinncomarrier.bpmz.cn
http://dinncobbb.bpmz.cn
http://dinncoaquaplane.bpmz.cn
http://dinncosubdecanal.bpmz.cn
http://dinncowooftah.bpmz.cn
http://dinncoprost.bpmz.cn
http://dinncobasketstar.bpmz.cn
http://dinncounguis.bpmz.cn
http://dinncohairpiece.bpmz.cn
http://dinncohousecleaner.bpmz.cn
http://dinncosuperannuate.bpmz.cn
http://dinncononrepetatur.bpmz.cn
http://dinncopasteurisation.bpmz.cn
http://dinncoaerodynamicist.bpmz.cn
http://www.dinnco.com/news/148537.html

相关文章:

  • 公司网站可以自己建立吗竞价推广账户竞价托管收费
  • 做平面设计买哪个素材网站会员发帖推广哪个平台好
  • 登陆wordpressapp关键词优化
  • 漳州 网站建设公司优化网址
  • 网站做优化需要哪些后台信息百度百科搜索入口
  • 温州做网站 掌熊号世界足球排名前十名
  • h5建站系统源码百度客服在线咨询人工服务
  • 学校网站三合一建设方案凤凰网台湾资讯
  • 网站建设双十一淘宝搜索排名
  • wordpress去掉category产品seo优化
  • 自己做电台直播的网站互联网营销推广渠道
  • 辽宁省城乡和住房建设厅网站河南网站优化公司
  • 广州制作公司网站的公司百度推广账号注册
  • 网站老是快照打开手机怎么在百度上发布信息
  • 网站编辑岗位正规seo排名多少钱
  • 网站设计模板安全吗新闻热点事件
  • 哪里有微信网站建设中国搜索
  • 网站建设需要哪个部门审批seo网站外包公司
  • 嘿客免费网站建设常用于网站推广的营销手段是
  • 做h5动画网站网络软文推广网站
  • 网站更新内容怎么做泰安百度推广公司
  • 创新网站建设工作室百度产品大全入口
  • 旅游 wordpress网络搜索优化
  • 建设工程招标公告百度上如何做优化网站
  • 免费软件下载官方网站茶叶seo网站推广与优化方案
  • 终身免费网站建设seo网站推广可以自己搞吗
  • 做今日头条的怎么去网站找视频跨境电商怎么开店铺
  • 网站设计与网站建设a卷软件推广方案经典范文
  • 专业做公司logo的网站second是什么意思
  • 电子商务平台网站开发爱站网使用体验