【发布时间】:2017-03-22 19:33:34
【问题描述】:
我正在尝试创建一个简单的 servlet 应用程序,但是当我将它部署到我的 Tomcat 服务器 (8.5) 中时,localhost:8080 给了我405 方法不允许错误。 我不知道如何处理这个错误
我的 pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.devcolibri</groupId>
<artifactId>com.devcolibri.servlet</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
</project>
我的 MainServlet.java
package com.devcolibri.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class MainServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.print("<h1>Hello Servlet</h1>");
}
}
我的 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>mainServlet</servlet-name>
<servlet-class>com.devcolibri.servlet.MainServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>mainServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
【问题讨论】:
-
您试图如何访问您的 servlet?只需在浏览器中访问它的 URL?还是您要向其发布表单数据?
-
@JonSampson 是的,只需访问它的 URL
-
我没有看到您发布的内容有问题,除了您可以尝试将
<scope>provided</scope>添加到javax.servlet的javax.servlet依赖项中pom.xml。当您尝试访问未实现以返回您的请求的 servlet 资源时,将返回 405。因此,如果您对您的 URL 进行了 POST/PUT/HEAD,您会看到。您实现了 doGet 并且您的浏览器应该执行 GET,所以。 . . . -
给你的问题一个合适的标题,真正表达问题。如果您想引起知道答案的人的注意,那就是。
标签: java maven tomcat servlets