这里是html页面的图片现在我想输入的内容应该在我输入注册按钮时出现。文件连接到mysql,每当我注册时都会显示输入的数据。这里是图片的链接。
https://i.stack.imgur.com/aTRfP.png
这是java文件的代码。
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String name = request.getParameter("name");
String email = request.getParameter("email");
String pass = request.getParameter("pass");
try{
//loading drivers for mysql
Class.forName("com.mysql.jdbc.Driver");
//creating connection with the database
Connection conn=DriverManager.getConnection
("jdbc:mysql://localhost:3306/form","root","xxxx");
PreparedStatement ps=conn.prepareStatement
("insert into Student values(?,?,?)");
ps.setString(1, name);
ps.setString(2, email);
ps.setString(3, pass);
int i=ps.executeUpdate();
if(i>0)
{
out.println("you are successfully regitered");
}
String query = "SELECT * FROM student";
// create the java statement
Statement st = conn.createStatement();
// execute the query, and get a java resultset
ResultSet rs = st.executeQuery(query);
// iterate through the java resultset
while (rs.next())
{
rs.getString("name");
rs.getString("email");
rs.getString("pass");
// print the results
System.out.format("%s, %s, %s\n", name, email, pass);
System.out.print("name: " + name);
System.out.print(", email: " + email);
System.out.print(", pass: " + pass);
}
st.close();
}
catch(Exception se)
{
se.printStackTrace();
}
}
我尝试在println函数中添加html页面的链接,但这不起作用所以请建议。
答案 0 :(得分:1)
据我了解,您希望在成功添加数据时显示确认消息。 当您调用url时,会创建一个包含所有标头和参数的请求并发送到服务器。在您的情况下,servlet容器捕获它并处理它并发回响应。
写入答案可以通过以下方式完成:
PrintWriter out = response.getWriter();
out.println("message to return");
但是,这不会在网页中显示该消息。你必须明确地这样做。你可以用两种方式做到这一点。 1使用ajax。 2使用jsp。
使用AJAX 对URL进行ajax调用,并以您想要的方式处理响应。使用像jQuery这样的库可以轻松实现。
使用JSP
在doGet()
或doPost()
方法中,在最后添加此行
request.setAttribute("message", "my message");
request.getRequestDispatcher(URL).forward(request, response);
重定向到具有属性集的指定URL
。通常,它是一个jsp页面,您可以在其中读取属性并随意显示它。