好的,所以我有一个奇怪的情况。我基本上创建了之前正在运行的JSP页面,或者至少在Eclipse运行代码时将打开一个新选项卡并显示页面的意义上。但是今天,当我回到我查看我创建的表单时,它基本上会闪烁新选项卡一秒钟,然后自动关闭。我没有在控制台或tomcat日志中出现任何错误,所以我不确定发生了什么。我尝试在同一个项目中创建一个新的JSP文件(没有相同的代码)并正确加载。有没有人有类似问题的经验?
以下是我的代码......
<%@page import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Code Selector</title>
</head>
<body>
<h1>Please select the applicable codes:</h1>
<select name='Code' onchange="showState(this.value)">
<option value="none">Select a code</option>
<%
//Pulls the ids and decriptions from the codes table and stores them in the first drop down
try
{
Class.forName("driverName").newInstance();
Connection con = DriverManager.getConnection("serverURL","username","password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select id, descr from codes");
while(rs.next())
{
%>
<option value="<%=rs.getString(1)%>"><%=rs.getString(1)%> <%=rs.getString(2)%></option>
<%
}
//Closes the database connection
stmt.close();
con.close();
}
catch (ClassNotFoundException e)
{
System.err.println("ClassNotFoundException: " + e.getMessage());
}
catch (SQLException e)
{
System.err.println("SQLException: " + e.getMessage());
}
catch (Exception e)
{
System.err.println("Generic Exception: " + e.getMessage());
}
%>
</select>
<br>
<br>
<select name='Code2' onchange="showState(this.value)">
<option value="none">Select a code</option>
<%
//Pulls the ids and decriptions from the codes table and stores them in the second drop down
try
{
Class.forName("driverName").newInstance();
Connection con = DriverManager.getConnection("serverURL","username","password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select id, descr from codes");
while(rs.next())
{
%>
<option value="<%=rs.getString(1)%>"><%=rs.getString(1)%> <%=rs.getString(2)%></option>
<%
}
//Closes the database connection
stmt.close();
con.close();
}
catch (ClassNotFoundException e)
{
System.err.println("ClassNotFoundException: " + e.getMessage());
}
catch (SQLException e)
{
System.err.println("SQLException: " + e.getMessage());
}
catch (Exception e)
{
System.err.println("Generic Exception: " + e.getMessage());
}
%>
</select>
<br>
<br>
<select name='otherCode' onchange="showState(this.value)">
<option value="none">Select a other code</option>
<%
//Pulls the ids and decriptions from the other codes table and stores them in the third drop down
try
{
Class.forName("driverName").newInstance();
Connection con = DriverManager.getConnection("serverURL","username","password");
Statement stmt = con.createStatement();
ResultSet rs2 = stmt.executeQuery("select id, descr from other_codes");
while(rs2.next())
{
%>
<option value="<%=rs2.getString(1)%>"><%=rs2.getString(1)%> <%=rs2.getString(2)%></option>
<%
}
//Closes the database connection
stmt.close();
con.close();
}
catch (ClassNotFoundException e)
{
System.err.println("ClassNotFoundException: " + e.getMessage());
}
catch (SQLException e)
{
System.err.println("SQLException: " + e.getMessage());
}
catch (Exception e)
{
System.err.println("Generic Exception: " + e.getMessage());
}
%>
</select>
<br>
<br>
<form method = "post">
<input type="submit" value="Submit">
<%
try
{
String Code = request.getParameter("Code");
String Code2 = request.getParameter("Code2");
String otherCode = request.getParameter("otherCode");
Class.forName("driverName").newInstance();
Connection con = DriverManager.getConnection("serverURL","username","password");
Statement stmt = con.createStatement();
//ResultSet rs3 = stmt.executeQuery();
System.out.println("This is the first code: " + Code);
System.out.println("This is the second code: " + Code2);
System.out.println("This is the other code: " + otherCode);
con.close();
stmt.close();
}
catch (ClassNotFoundException e)
{
System.err.println("ClassNotFoundException: " + e.getMessage());
}
catch (SQLException e)
{
System.err.println("SQLException: " + e.getMessage());
}
catch (Exception e)
{
System.err.println("Generic Exception: " + e.getMessage());
}
%>
<script>
window.close();
</script>
</form>
</body>
</html>
答案 0 :(得分:0)
这很傻。所以我创建了另一个新的jsp文件,使用相同的代码,除了<script>
标签中的代码,一切正常。然后我重新添加了<script>
标签,它第一次运行正常。但是,下次我去尝试时,原来的问题又出现了。然后,当我再次删除<script>
标记时,问题仍然存在。无论出于何种原因,一旦你添加了window.close()
,它就会永久停留在页面上?