2014-12-04 61 views
-3

上新线我是新来学习的Java Servlet。我试图通过使用产生两个输入字段“用户名”和“全名”一个简单的HTML表格通过POST查询(的Apache Tomcat V8.0)参数。 但是代码运行正常;我想“用户名”和“全名”,以显示不同的新生产线,我不能用“/ N”里面的println()函数做到这一点。 这是我的POST查询代码。一个web页面级的Java servlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    response.setContentType("text/html"); 
    PrintWriter out= response.getWriter(); 
    String User_name = request.getParameter("UserName"); 
    String Full_name = request.getParameter("FullName"); 
    out.println("\nHello from POST method!"); 
    out.println("\nYour UserName is: " +User_name); 
    out.println("\nYour FullName is: " +Full_name); 
} 

回答

1

\n是文本的换行符。在浏览器中查看源代码,您将看到\n正在为您提供HTML源代码中的换行符。问题是,浏览器不会在呈现的HTML中将\n显示为换行符。这是因为,以使HTML您使用<br />的换行符换行,或包装你行成一个段落与<p>开始,以</p>结束。如果您打算进行JSP/Servlet开发,您需要了解HTML的基础知识。

所以:

out.println("<p>Hello from POST method!</p>"); 
out.println("<p>Your UserName is: " + User_name + "</p>"); 

out.println("Hello from POST method!"); 
out.println("<br />Your UserName is: " + User_name); 

它也建议不要直接在这样一个servlet打印HTML。您应该设置一个请求属性并转发给充当视图的JSP。这在Servlets info page中有很好的解释。

对未来只是一个提示:它改变的东西在服务器上的一个帖子之后(保存到数据库或其他),你会想要做一个服务器端重定向,以避免重复张贴。

+0

正是我一直在寻找。谢谢一堆! – 2014-12-05 00:45:55

相关问题