servlet向客户端输出信息

1、向客户端输出文本消息:使用PrintWrite类。实例:

package chapter4;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Helloworld extends HttpServlet {
	
	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html; charset=UTF-8");
		PrintWriter out = response.getWriter();
		
		out.println("<b>ÏìÓ¦ÏûÏ¢</b>");
	}
}

2、向客户端输出字节消息,如:图像和二进制文件等,用ServletOutputStream类实现。实例:

import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class ShowImage extends HttpServlet {

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void service(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException 
	{
		response.setContentType("image/jpeg");
		OutputStream os = response.getOutputStream();
		byte[] buffer = new byte[8192];
		String imageName = request.getParameter("name");//使用name请求参数传递图像文件的绝对路径
		FileInputStream fis = new FileInputStream(imageName);
		int count = 0;
		while(true)
		{
			count = fis.read(buffer);
			if(count <= 0)
				break;
			os.write(buffer, 0, count);
		}
		fis.close();
	}

}

假设在D盘MyEclipse目录下有一个.img文件,在浏览器中输入如下URL:http://localhost:8080/show/servlet/ShowImage?name=D:\MyEclipse\04.jpg即可显示图片。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以的,Servlet 可以输出响应数据,包括 HTML、JSON、XML 等格式的数据。Servlet 是在服务器端运行的 Java 类,它可以接收客户端的请求,并向客户端发送响应数据。通过使用 Servlet API 中的 HttpServletResponse 对象,Servlet 可以输出各种格式的响应数据,例如: - 使用 PrintWriter 对象输出纯文本数据 - 使用 ServletOutputStream 对象输出二进制数据 - 使用 setContentType() 方法设置响应的 MIME 类型 - 使用 addHeader() 方法添加响应头信息 - 使用 sendRedirect() 方法重定向到另一个页面等等。 因此,Servlet 可以用来处理客户端的请求并生成相应的响应数据,从而实现动态网页的生成和交互。 ### 回答2: 在Servlet中是可以输出内容的。因为Servlet是Java技术的一种实现,用于在服务器端处理HTTP请求和生成响应。通过Servlet的`ServletResponse`接口提供的方法,可以向客户端发送文本、HTML、JSON等格式的响应数据。 在Servlet中,可以使用`PrintWriter`对象或`ServletResponse`接口的`getWriter()`方法获取一个输出流,从而将内容输出客户端。通过这个输出流,我们可以向客户端发送HTML标签、文本信息、错误消息等等。 通常,我们在Servlet中使用`PrintWriter`对象来输出内容,使用`println()`方法可以方便地输出一行字符串。例如,我们可以在Servlet中使用以下代码输出一个简单的HTML页面: ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); // 设置响应内容的类型 PrintWriter out = response.getWriter(); // 获取输出流 // 输出HTML页面 out.println("<html>"); out.println("<head>"); out.println("<title>Hello World</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Hello World!</h1>"); out.println("</body>"); out.println("</html>"); out.close(); // 关闭输出流 } ``` 通过以上代码,当客户端请求该Servlet时,服务器会返回一个包含"Hello World!"的HTML页面。 因此,确实可以在Servlet输出内容,从而生成动态的响应。 ### 回答3: servlet里是可以输出内容的。在servlet中,我们可以使用`response`对象来输出内容客户端。`response`对象提供了一些方法来向客户端发送数据。 常用的方法包括: 1. `response.getWriter()`: 获取一个用于输出字符数据的`PrintWriter`对象。通过调用`print()`或`println()`方法,我们可以将文本内容输出客户端。 2. `response.getOutputStream()`: 获取一个用于输出字节数据的`ServletOutputStream`对象。通过调用`write()`方法,我们可以将字节数据输出客户端。 例如,我们可以在servlet的`doGet()`方法中使用以下代码输出文本内容客户端: ```java protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); // 设置响应内容类型为HTML,字符编码为UTF-8 PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>Servlet Output</title></head>"); out.println("<body>"); out.println("<h1>Hello, World!</h1>"); out.println("</body>"); out.println("</html>"); out.close(); } ``` 通过上述代码,客户端将会接收到一段HTML代码,其中包含一个标题为"Hello, World!"的大标题。 除了输出文本内容,我们还可以通过`response`对象发送文件给客户端。例如,可以通过`response.setContentType("application/pdf")`设置响应内容类型为PDF文件,然后通过`response.getOutputStream()`将PDF文件的字节数据输出客户端。 总而言之,servlet可以通过`response`对象来向客户端输出文本内容或其他类型的数据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值