这是我为验证登录而编写的代码:
<html>
<head>
<meta http-equiv="Content-Type" content="javascript/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<% String username=request.getParameter("username");
String password=request.getParameter("password");
if((username.equals("root") && password.equals("Root@123")))
{
session.setAttribute("username",username);
response.sendRedirect("admin.html");
}
else if((username.equals("school") && password.equals("school@123")))
{
session.setAttribute("username",username);
response.sendRedirect("school.jsp");
}
else
{
response.sendRedirect("Error.jsp");
}
%> </body>
</html>
但不是在<% - - - - %>
内执行显示代码。
有人请帮我解决这个问题。
有时会运行,有时却不运行。
答案 0 :(得分:3)
代码是正确的,并且假设您的Java EE容器已设置为将文件视为JSP,它应该这样做,但有一件事情会跳出来:
<meta http-equiv="Content-Type" content="javascript/html; charset=UTF-8">
您正在将响应的Content-Type设置为javascript/html
(据我所知,这是一种完全未知的MIME类型)。这个可能阻止您的Java EE容器尝试将其视为JSP,尽管它会让我感到惊讶。标签应为:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
这是猜测,但由于meta
标签肯定是错误的,我会修复它。
如果这不能解决问题,那么你需要查看Java EE容器的设置(Tomcat,JBoss,无论你使用什么),因为它不会将文件视为JSP。
答案 1 :(得分:-1)
那个代码不是javascript,而是java。看起来您正在尝试使用Java Server页面(JSP),它通过在您的网络服务器上运行Java代码来生成HTML,然后将其发送到浏览器。 Javascript是一种完全不同的语言,通常在浏览器中运行。
为了使代码运行而不是仅仅显示在页面中,您需要设置一个将执行Java代码并提供页面的Web服务器。