surveyservlet.java

来自「用java编写的程序」· Java 代码 · 共 93 行

JAVA
93
字号
package webbook.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;

/**
 * 
 * @author Liuwei
 * @version 1.0
 * 
 */
public class SurveyServlet extends HttpServlet {

	private static final long serialVersionUID = -8179113771502345601L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		request.setCharacterEncoding("utf-8");
		out.println("<html>");
		out.println("<head><title>display survey infomation</title></head>");
		out.println("<body>");
		out.println("<h2>用户输入信息:</h2>");
		out.println("<strong>用户名:" + filter(request.getParameter("name"))
				+ "</strong><br>");
		out.println("<strong>email:" + filter(request.getParameter("email"))
				+ "</strong><br>");
		out.println("<strong>年纪:" + request.getParameter("age")
				+ "</strong><br>");
		out.println("<strong>编程时间:" + request.getParameter("codetime")
				+ "</strong><br>");
		out.println("<strong>使用的操作系统:</strong>");
		printValues(out, request.getParameterValues("os"));
		out.println("<strong>使用的编程语言:</strong>");
		printValues(out, request.getParameterValues("language"));
		out.println("<strong>建议:" + filter(request.getParameter("comment"))
				+ "</strong><br>");
		out.println("</body>");
		out.println("</html>");

		out.flush();
		out.close();
	}

	/**
	 * 输出字符串数组中所有的元素
	 */
	public void printValues(PrintWriter out, String[] values) {
		if (values == null || values.length == 0) {
			return;
		}
		out.println("<ul>");
		for (int i = 0; i < values.length; i++) {
			out.println("<li>" + values[i] + "</li>");
		}
		out.println("</ul>");
	}

	/**
	 * 过滤<, >,\n 字符的方法
	 * 
	 * @param input
	 *            需要过滤的字符
	 * @return 完成过滤以后的字符串
	 */
	public String filter(String input) {
		if (input == null) {
			return null;
		}
		if (input.length() == 0) {
			return input;
		}
		input = input.replaceAll("&", "&amp;");
		input = input.replaceAll("<", "&lt;");
		input = input.replaceAll(">", "&gt;");
		input = input.replaceAll(" ", "&nbsp;");
		input = input.replaceAll("'", "&#39;");
		input = input.replaceAll("\"", "&quot;");
		return input.replaceAll("\n", "<br>");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?