Restful风格是一种url风格,其中的参数直接以值的形式显示,而不带参数名。例如一般的url带上参数形式为:?a=1&b=2,而restful风格可写为:/1/2,这样写不仅简单方便,而且省略了参数名,具有一定的安全性,因为一些参数名可能具有实际的意义。
下面是处理一个Restful风格的url请求的Controller类,实现了根据id查询书籍的功能:
@RequestMapping("/queryBookById/{id}")
public String queryById(@PathVariable int id, Model model) {
model.addAttribute("book", bookService.queryBookById(id));
return "queryBookById";
}
RequestMapping中的url就是一种restful风格,其中的参数id需要加上PathVariable注解,表示其是url中的参数。这样在浏览器中输入 项目名/queryBookById/id值就可以查出相应的书籍。
使用restful风格可能会产生如下问题:如果两个方法处理的两个请求参数个数相同,只是类型不同,比如一个是整数,一个是字符串,就会产生SpringMVC不知道走哪个方法的错误,因为url中的参数都当做字符串来处理,最好的方法是url中参数前面的部分就不一样,不要用参数类型来区分走哪个方法来处理。
以下是一些简单的经验总结:
1. tomcat下载安装好后,检查是否可以正常使用:
① 先进行权限修改:终端输入sudo chmod 755 tomcat的安装路径/bin/*.sh,接下来提示输入密码:xxx
② 进入bin目录: cd tomcat的安装路径/bin/
③ 开启服务器:sudo sh startup.sh
④ 关闭服务器:sudo sh shutdown.sh
注意要在终端中关闭tomcat,不然在IDEA中不能正常使用tomcat
然后浏览器打开,输入:http://localhost:8080 查看服务器是否开启成功
2. 单元测试报错Error creating bean with name 'mvcContentNegotiationManager',错误原因:缺少servlet-api的依赖包
解决办法:直接在pom文件中引入dependency
<dependency>
<groupId>tomcat</groupId>
<artifactId>servlet-api</artifactId>
<version>5.5.23</version>
</dependency>
3. mybatis的mapper.xml文件的增删改查写法总结:Mybatis增删改查mapper文件写法
4. 使用lombok包时,不仅要加上Data注解生产get和set方法,最好还要加上NoArgsConstructor和AllArgsConstructor,避免可能会产生的错误
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Book {
private int id;
private String name;
private String type;
private int count;
}