Servlet 测试PrintWriter输出信息的换行问题

环境: Servlet 4.0 ,jdk 8,Tomcat 9

1. 新建一个Servlet,默认在Get里处理请求。

2.获取PrintWriter对象,输出两句话试试

3.保存,启动Tomcat,浏览器输入url,看看返回什么

关于println(),看看PrintWriter类描述

这样的响应内容是文本

如果把响应的内容类型换成HTML,会是下面的效果,换行无效,但加上br标签可以换行

结论,如果Content Type是 html, printwriter 打印换行使用html自带的<br />

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
输出学生信息管理系统,你需要在JSP页面中编写HTML和Java代码,以及在Servlet中处理HTTP请求和响应。 首先,你需要创建一个JSP页面,例如:student.jsp。在这个页面中,你可以使用HTML和CSS来设计页面的布局和样式。同时,你需要使用Java代码来从数据库中读取学生信息,并将其显示在页面上。 接下来,你需要编写一个Servlet来处理HTTP请求并生成响应。在Servlet中,你可以使用Java代码来连接数据库,并查询学生信息。然后,你需要将查询结果作为响应发送回客户端。 下面是一个简单的示例,演示如何在JSP页面中输出学生信息管理系统: 在student.jsp页面中,你可以使用以下代码来显示学生信息: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>学生信息管理系统</title> </head> <body> <table> <% // 连接数据库 String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); Statement stmt = conn.createStatement(); // 查询学生信息 String sql = "SELECT id, name, age, gender FROM student"; ResultSet rs = stmt.executeQuery(sql); // 输出表头 out.println("<tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th></tr>"); // 输出学生信息 while (rs.next()) { out.println("<tr><td>" + rs.getString("id") + "</td><td>" + rs.getString("name") + "</td><td>" + rs.getString("age") + "</td><td>" + rs.getString("gender") + "</td></tr>"); } // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); %> </table> </body> </html> ``` 在Servlet中,你可以使用以下代码来处理HTTP请求并生成响应: ``` import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class StudentServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应类型和字符编码 response.setContentType("text/html;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); // 获取输出PrintWriter out = response.getWriter(); // 输出HTML头部 out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<meta charset='UTF-8'>"); out.println("<title>学生信息管理系统</title>"); out.println("</head>"); out.println("<body>"); try { // 连接数据库 String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = "123456"; Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); Statement stmt = conn.createStatement(); // 查询学生信息 String sql = "SELECT id, name, age, gender FROM student"; ResultSet rs = stmt.executeQuery(sql); // 输出表格头部 out.println("<table>"); out.println("<tr><th>ID</th><th>姓名</th><th>年龄</th><th>性别</th></tr>"); // 输出学生信息 while (rs.next()) { out.println("<tr><td>" + rs.getString("id") + "</td><td>" + rs.getString("name") + "</td><td>" + rs.getString("age") + "</td><td>" + rs.getString("gender") + "</td></tr>"); } // 关闭数据库连接 rs.close(); stmt.close(); conn.close(); // 输出表格尾部 out.println("</table>"); } catch (Exception e) { e.printStackTrace(); out.println("查询失败:" + e.getMessage()); } // 输出HTML尾部 out.println("</body>"); out.println("</html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } ``` 当你在浏览器中访问http://localhost:8080/yourapp/student时,就可以看到学生信息管理系统的输出了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值