IDEA+Spring MVC5集成运行,自学方法,@RequestMapping,请求参数(第二节)

接着上一章节
如何运行
点击run 选择如下

image.png

弹出下面界面
image.png

点击加号
image.png

选择tomcat server
image.png

选择local
弹出如下界面
image.png

选择Deployment
点击+号
image.png

选择Artifact 出现如下
image.png

第一个打包方式和我们上节课手工部署打包很类似
第二个方式会把我们当前网站文件夹原样部署到tomcat(修改代码后可以重新进行发布 一般开发时选择这个)
选择第二个 点击ok
出现如下
image.png

画箭头处可以根据自己需要改成二级目录
点击apply ok就可以运行项目了
点击run会帮我们编译并且启动tomcat 默认浏览器会弹出默认的网站首页设置
image.png

接下来我们学习下Request Mapping注解
来到https://docs.spring.io/spring/docs/5.0.4.RELEASE/spring-framework-reference/web.html#mvc-ann-requestmapping官网
这个注解可以对我们控制器的方法进行路径的映射
当我们的请求进入DispatherServlet的时候,会做请求处理的分发 而Request Mapping可以对我们的请求地址和请求的方式做一些控制
下面是官方Request Mapping作用的说明
image.png

比如说我们想通过url地址来上传图片等 都可以通过这个注解进行相关的属性设置并进行映射
接下来我们看个例子
假设我们有个新闻系统
是通过以下路径进行访问的
image.png

接下来创建一个NewsController
image.png

其中@RequestMapping注解可以打在类上 也可以打在方法上
比如我们NewsController为多层目录 (全是做新闻的)
代码如下
image.png

接下来运行代码
点击run 弹出如下
image.png

我们选择Redepoly重新发布到tomcat下 点击ok
image.png

接下来浏览器访问下localhost:8080/news/123
出现如下
image.png

image.png

可以发现我们的newsID如果是字符串也可以访问 (以后我们会对这里的参数进行限定)
在url中如果有path(路径)相关的参数,我们可以通过@PathVariable这个注解得到path参数的值
同样官方还给出支持正则的方式限定我们的参数
官方如下
image.png

接下来我们对上面例子字母做下限定
image.png

重新运行下项目
再次访问localhost:8080/news/aaa
image.png

可以发现出错了
lcoalhost:8080/news/123
image.png

可以看出对字母进行了限定
我们在把这个请求地址用火狐的http client 插件做下请求 看下响应内容
image.png

可以发现我们用post请求也能正常 访问
那么我们如何限制以什么方式请求呢?
接下来改下代码
image.png

重新run一下代码
再次用火狐带的插件post请求一下网址
image.png

可以发现出错了
我们用浏览器请求
image.png

所以可以使用注解的参数限制请求的方式
还可以使用官网告诉我们的
image.png

代码如下
image.png

重新run一下
post请求依然报错
image.png

get请求正常访问了
image.png

接下来我们学习下请求参数
image.png

上面我们做了新闻的详细页
下面我们做一下新闻列表页
在NewsController中添加如下
image.png

重新run一下
接下来浏览器访问localhost:8080/news/list?page=2
image.png

我们把page=2去掉再次访问
image.png

可以发现报错了
我们在正式开发时 page不写不应该报错,应该给个默认值
接下来在修改下使其支持默认值
image.png

给@RequestParam(请求参数注解)加上参数 参数一表示page不是必须的,参数二表示page默认值为1
写好后重新run
浏览器再次访问localhost:8080/news/list
image.png

可以发现能正常访问了
如果我们传入page=3
image.png

显示页码为3
以上就是我们的@PathVariable 和请求参数(@RequestParam)
后面我们会结合案例进一步学习

你可能感兴趣的:(IDEA+Spring MVC5集成运行,自学方法,@RequestMapping,请求参数(第二节))