Servlet不适用于WebSphere 8.x.

时间:2013-09-26 01:48:57

标签: servlets websphere-8

我有以下课程......

package org.me.test
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/servlet")
public class TestServlet extends HttpServlet {
/**
 * 
 */
private static final long serialVersionUID = 1L;

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException {
    // TODO Auto-generated method stub
    resp.setContentType("text/plain");
    resp.getWriter().write("Test Servlet");
    super.doGet(req, resp);
}
}

以及以下Web.xml ......

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  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>
    <display-name>srv</display-name>
    <servlet-name>srv</servlet-name>
    <servlet-class>
                 org.me.test.TestServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>srv</servlet-name>
    <url-pattern>/srv/*</url-pattern>
</servlet-mapping>
</web-app>

但我得到......

  

错误405:此URL不支持HTTP方法GET

1 个答案:

答案 0 :(得分:2)

您收到405错误是因为您在super.doGet()结束时致电doGet()。尝试删除该行。

基类doGet()中的HttpServlet的默认实现返回405错误。要支持GET操作,必须覆盖doGet() 而不调用父实现,否则返回相同的错误,以便在没有覆盖时显示。