我制作了一个HTML文件来设计注册页面。单击“提交”按钮后,表单值将发送到JSP页面。但是当我运行这个项目时,在填写表单后,会显示空白的JSP页面,甚至不显示“输入数据失败”。并且值不会进入数据库。我正在使用Netbeans IDE。 这是两个文件的代码。
addlibform.html:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Add Librarian</title>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="background.css">
<link rel="stylesheet" type="text/css" href="main.css">
<style>
.label{
font-size: 15px;
color: black;
position: absolute;
margin-left: 500px;
margin-top: 100px;
}
.input{
position: absolute;
margin-left: 650px;
margin-top: 100px;
}
</style>
</head>
<body>
<h1 style="position: absolute; margin-left: 550px;">Add Librarian</h1><br>
<form method="post" action="addlib.jsp">
<label for="username" class="label">Username:</label>
<input type="text" name="userid" id="userid" required class="input"><br><br><br>
<label for="password" class="label">Password:</label>
<input type="password" name="password" id="password" class="input"><br><br><br>
<label for="address" class="label">Address:</label>
<textarea rows="2" cols="22" name="add" class="input"></textarea><br><br><br>
<label for="city" class="label">City:</label>
<input type="text" name="city" class="input"><br><br><br>
<label for="contact" class="label">Contact No.:</label>
<input type="text" name="contact" class="input"><br><br><br>
<input type="submit" class="btn btn-default" value="Add Librarian" style="position: relative; margin-left: 600px; margin-top: 100px;">
<input class="btn btn-default" value="Back" style="position: relative; margin-left: 600px; margin-top: 20px;">
</form>
</body>
</html>
addlib.jsp文件:
<%@ page import ="java.sql.*" %>
<%@ page import ="java.lang.*" %>
<%
String username = request.getParameter("userid");
String pwd = request.getParameter("password");
String add = request.getParameter("address");
String city = request.getParameter("city");
String contact = request.getParameter("contact");
try{
Class.forName("com.mysql.jdbc.Driver");
Connection c= DriverManager.getConnection("jdbc:mysql://localhost:3306/librarymgmt", "root", "root");
Statement st = c.createStatement();
int i=st.executeUpdate("INSERT INTO librarians VALUES('" + username + "','" + pwd + "','" + add + "','" + city + "','" + contact + ")");
if(i > 0)
System.out.println("Librarian added successfully");
else
System.out.println("Failed to insert data");
}
catch(Exception e)
{
System.out.println(e);
}
%>
请帮忙。在此先感谢:)
答案 0 :(得分:0)
以下内容:
"','" + contact + ")");
在关闭括号之前无法关闭单引号。
那是你的错误。
但这无关紧要。这里你的问题不是你所犯的特殊错误,而是你在盲人中编码而不能看到错误的事实。如果你继续在盲人中编码,会发生更多错误,你仍然不知道出了什么问题。我们在stackoverflow可以提供帮助,但在某一点之后,它开始变得乏味,无论是对你还是对我们而言。
因此,在您的代码中,如果抛出异常(并且如上所述, 抛出),则异常的toString()
将输出到标准输出。你在控制台看到了吗?如果您无条件地将“hello”输出到标准输出(例如,就在try{,
之前),您会看到吗?如果没有,那就是问题:错误被有效抑制,所以你无法知道出了什么问题。
如何 NOT 尝试捕获异常,以便服务器捕获您的异常,并在服务器日志和服务器日志中提供有意义的错误消息在实际的网页上?