tomcat问题:org.apache.jasper.JasperException: 无法为JSP编译类: 每次跳转都会出现500错误

问题遇到的现象和发生背景

背景:在一个模拟用户提交的jsp页面,点击提交,进入到用户页时。
遇到的问题:在原页面点击提交跳转,就会500报错,

问题相关代码,请勿粘贴截图

窗口页面(原页面代码-response03.jsp)

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
 <%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
<script type="text/javascript">
    function resetValue(){
        document.getElementById("userName").value="";
        document.getElementById("pwd").value="";
    }
</script>
<%
    String userName = null;
    String pwd = null;
    Cookie[] cookies= request.getCookies();
    for(int i=0;cookies!=null&&i<cookies.length;i++){
        if(cookies[i].getName().equals("userNameAndPwd")){
            userName=cookies[i].getValue().split("-")[0];
            pwd=cookies[i].getValue().split("-")[1];
            
        }
    }
%>
</head>
<body>
<form action="userLogin.jsp" method="post">
    <table>
        <tr>
            <td>用户名:</td>
            <td><input type="text" id="userName" name="userName" value="<%=userName%>"></td>
        </tr>
        <tr>
            <td>密码:</td>
            <td><input type="password" id="pwd" name="pwd" value="<%=pwd%>"></td>
        </tr>
        <tr>
            <td>记住密码:</td>
            <td><input type="checkbox" id="remember" name="remember" value="remember-me"></td>
        </tr>
        <tr>
            <td><input type="submit" value="登陆"></td>
            <td><input type="button" value="重置" onclick="resetValue()"></td>
        </tr>
    </table>
    
</form>    
</body>
</html>



跳转后的页面代码(userLogin.jsp)

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ page import="java.util.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
    <%
        String userName = request.getParameter("userName");//获取用户名
        String pwd = request.getParameter("pwd");//获取密码
        String remember = request.getParameter("remember");//获取记住密码
        
        if("remember-me".equals(remember)){
            Cookie userNameAndPwd = new Cookie("userNameAndPwd",userName+"-"+pwd);
            userNameAndPwd.setMaxAge(1*60*60*24*7);//设置成一周
            response.addCookie(userNameAndPwd);//保存cookie
            System.out.println("设置cooike成功");
        }
        System.out.println("userName:"+userName);
        System.out.println("pwd:"+pwd);
        System.out.println("remember:"+remember);
        response.sendRedirect("response03.jsp");
    %>
</body>
</html>


运行结果及报错内容
HTTP状态 500 - 内部服务器错误
类型 异常报告

消息 无法为JSP编译类:

描述 服务器遇到一个意外的情况,阻止它完成请求。

例外情况

org.apache.jasper.JasperException: 无法为JSP编译类: 

JSP文件:[/userLogin.jsp] 的第 [20] 行发生了一个错误
System.out cannot be resolved to a type
17:             Cookie userNameAndPwd = new Cookie("userNameAndPwd",userName+"-"+pwd);
18:             userNameAndPwd.setMaxAge(1*60*60*24*7);//璁剧疆鎴愪竴鍛�
19:             response.addCookie(userNameAndPwd);//淇濆瓨cookie
20:             System.out.println("璁剧疆cooike鎴愬姛");
21:         }
22:         System.out.println("userName:"+userName);
23:         System.out.println("pwd:"+pwd);


JSP文件:[/userLogin.jsp] 的第 [22] 行发生了一个错误
System.out cannot be resolved to a type
19:             response.addCookie(userNameAndPwd);//淇濆瓨cookie
20:             System.out.println("璁剧疆cooike鎴愬姛");
21:         }
22:         System.out.println("userName:"+userName);
23:         System.out.println("pwd:"+pwd);
24:         System.out.println("remember:"+remember);
25:         response.sendRedirect("response03.jsp");


JSP文件:[/userLogin.jsp] 的第 [23] 行发生了一个错误
System.out cannot be resolved to a type
20:             System.out.println("璁剧疆cooike鎴愬姛");
21:         }
22:         System.out.println("userName:"+userName);
23:         System.out.println("pwd:"+pwd);
24:         System.out.println("remember:"+remember);
25:         response.sendRedirect("response03.jsp");
26:     %>


JSP文件:[/userLogin.jsp] 的第 [24] 行发生了一个错误
System.out cannot be resolved to a type
21:         }
22:         System.out.println("userName:"+userName);
23:         System.out.println("pwd:"+pwd);
24:         System.out.println("remember:"+remember);
25:         response.sendRedirect("response03.jsp");
26:     %>
27: </body>


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:101)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:569)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:380)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:350)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:597)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看

Apache Tomcat/8.5.75

错误都是指向输出语句报错,不太能理解。

我的解答思路和尝试过的方法

1、尝试过删除输出语句,里面的cookie代码正常运行,但一旦书写了输出语句就是500错误。
2、导入过java.lang包但是,效果相同。

我想要达到的结果

正常情况在登陆页输入信息,勾选必选,点击提交按钮,可以进入到用户页面创建cooike并且保存到cookie信息,且能在控制台上打印信息,最后用户页面重定向回登陆页面。

System.out.println是将信息打印到控制台,如果你想把信息打印到页面上,用out.println()

重新编译一次看看

删掉<%@ page import="java.util.*"%>试试
最后怎么解决了

怎么解决的

看一下官方给的解决办法
https://bugs.java.com/bugdatabase/view_bug.do?bug_id=jdk-8272079