shenxian32 2022-01-22 23:13 采纳率: 89%
浏览 46
已结题

网页运行会报500错误,不知道为什么提交响应后无法转发

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
public class Servlet1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
        String username = req.getParameter("username");
        System.out.println("username为"+username);
        req.setAttribute("Key","给你盖个章");
        RequestDispatcher dispatcher = req.getRequestDispatcher("/servlet2");//寻找访问路径
        dispatcher.forward(req,resp);
    }
}


```java
public class Servlet2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username");
        System.out.println("username为"+username);
        String key = req.getParameter("Key");
        System.out.println("检查是否盖章"+key);

        //执行自己的操作
        System.out.println("执行自己的操作");
    }
}



```java
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
<servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>com.atguigu.HelloServlet</servlet-class>
<init-param>
    <param-name>url</param-name>
    <param-value>jinx</param-value>
</init-param>
</servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>Servlet1</servlet-name>
        <servlet-class>com.atguigu.Servlet1</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet1</servlet-name>
        <url-pattern>/servlet1</url-pattern>
    </servlet-mapping>


    <servlet>
        <servlet-name>Servlet2</servlet-name>
        <servlet-class>com.atguigu.Servlet2</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Servlet2</servlet-name>
        <url-pattern>/servlet2</url-pattern>
    </servlet-mapping>

</web-app>

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • MR_ZhiEr 2022-01-23 00:14
    关注

    在每个Servlet 上面你不需要标记路径么
    比如@WebServlet("/Servlet2")

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月31日
  • 已采纳回答 1月23日
  • 创建了问题 1月22日