错误:HTTP状态500-内部服务器错误

问题描述 

  

找到问题 
根据页面的反馈可以看到,问题出在Servler容器里,具体查看servlet logs可以找到问题所在。

解决方法
首先找到Tomcat Localhost Logs红色部分。

代码 

@WebServlet("/app")
public class HttpServletDemo1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //请求转发
        request.getRequestDispatcher("/user").forward(request,response);
        request.setCharacterEncoding("UTF-8");
        //以键值对返回所有数据
        Map<String, String[]> parameterMap = request.getParameterMap();
        //返回某个key对应的values
        String[] s = request.getParameterValues("hobby");
        //返回某个key对应的value
        String username = request.getParameter("username");

        //输出Map集合
        for (String key : parameterMap.keySet()) {
            System.out.print(key + ":");

            String[] values = parameterMap.get(key);

            for (String value : values) {
                System.out.print(value + " ");
            }
            System.out.println();
        }
        
       //34行
        for (String hobby : s) {
            System.out.println(hobby);
        }

        System.out.println(username);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //43行
        this.doGet(request, response);
    }
}

结合错误和代码可以看到出错的地方是第34行,提示数组为空,可以发现是s为空,是因为html页面没有选中导致s为空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值