解决 Maven 使用Tomcat 部署报错 Tomcat return http status error: 405, Reason Phrase: Method Not Allowed:
时间:2022-07-25
本文章向大家介绍解决 Maven 使用Tomcat 部署报错 Tomcat return http status error: 405, Reason Phrase: Method Not Allowed:,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
背景
maven 3 使用Tomcat 8 使用命令,进行部署
mvn tomcat7:deploy
出现如下报错: Tomcat return http status error: 405, Reason Phrase: Method Not Allowed:
HTTP 405解读
HTTP Error 405 Method not allowed
此HTTP协议定义在web浏览器上的特定URL资源(由客户端发起)上要执行action动作的方法。有下面几种方法:
- options 要求得到一个HTTP方法列表,所请求URL上的东西可以对这些HTTP方法做出响应。。
- get 要求得到所请求URL上的资源或文件,例如网页或者图片等。
- head 只要求得到GET返回结果的首部部分。所有这有点像GET,但是相应中没有体。它能提供所请求URL的有关信息,但 是不会真正返回实际的那个东西。
- post 要求服务器接受附加到请求的体信息,并提供所请求URL上的一个东西,这像GET的一个扩展,也就是说,随请求还发送了额外的信息。向网页提交数据,比如提交信息,或者向远程数据库增加记录等。
- put 指出要把所包含的信息(体)放在请求的URL上
- delete 指出删除所请求URL上的一个资源或文件
- trace 要求请求消息回送,这样客户能看到另一端上接受了什么,以便测试或排错。
- connect 要求连接以便建立隧道。
修复405错误
一般而言,405报错都是由于POST请求。
所有的405错误,都可以追踪到web 服务器的配置以及调用web服务器配置的配置,以及网页安全的控制等。
经检查,最后只需将pom.xml中的配置改一下,增改为
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<username>tomcat</username>
<password>tomcat</password>
</configuration>
</plugin>
tomcat 服务器的对应tomcat-users.xml中改为
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="admin-gui,admin,manager-gui,manager-script,manager"/>
赋予 连接者 权限的roles,即 管理员GUI/管理员,管理员脚本等。
再次运行 mvn tomcat7 :deploy
,部署成功。如要重新部署,则可使用命令 mvn clean tomcat7:undeploy tomcat7:deploy
此时,打开tomcat webapps 目录 发现自动生成了项目工程以及其war包
至此,结束。
- 使用yield进行异步流程控制
- 【Java提高十七】Set接口集合详解
- 如何科学地蹭热点:用python爬虫获取热门微博评论并进行情感分析
- 使用ETag进行session的降级
- 关于oracle中的反连接(r3笔记第95天)
- 用Python爬取网易云音乐的用户评论文本
- grunt任务之seajs模块打包
- 【Java提高十八】Map接口集合详解
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(五)讲一下maven
- Thinking in React
- 【Java提高十六】集合List接口详解
- JS的内建函数reduce
- Error: Cannot find module 'gulp-clone'问题的解决
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Oracle数据中的序列、索引、视图、事务操作详解以及rowid 和 rownum的简单介绍
- Oracle子查询详解
- SQL92、SQL99中的多表连接查询区别
- Oracle中的分组查询与DML
- Oracle中的基本SQL知识
- 自定义 ESLint 规则,让代码持续美丽
- 基于Java swing开发的雷霆战机
- 浅谈双缓冲技术在游戏里面的应用【java】
- 拥抱 Vue 3 系列之 JSX 语法
- c#多态性 静态多态性函数重载 动态多态性 虚方法:
- 如何开发跨框架的组件
- ZooTeam 拍了拍你,来看看如何设计动态化表单
- C# 继承 基类和派生类基类的初始化C# 多重继承
- Go语言ORM-gorm学习笔记(一)
- Etcd+Prometheus+Grafana