代码仓库:https://gitee.com/DerekAndroid/ServletResponse.git
ServletContext
package com.itheima.a_servletContextApi;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletContextApi extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取ServletContext对象
ServletContext sc = getServletContext();
//获取全局初始化参数
String db = sc.getInitParameter("db");
System.out.println(db);
//获取所有全局初始化参数名称
Enumeration<String> initParameterNames = sc.getInitParameterNames();
while (initParameterNames.hasMoreElements()) {
String string = (String) initParameterNames.nextElement();
System.out.println(string+":"+sc.getInitParameter(string));
}
//获取一个资源在服务器上的真实路径
String realPath = sc.getRealPath("/1.html");
System.out.println(realPath);
//以流的形式返回一个文件
InputStream is = sc.getResourceAsStream("/1.html");
System.out.println(is);
//获取一个文件的mime类型(大类型/小类型 image/gif)
String mimeType = sc.getMimeType("/1.jpg");
System.out.println(mimeType);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
response
package com.itheima.d_out;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class OutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//字符流和字节流不能同时出现 俩流互斥
/*ServletOutputStream outputStream = response.getOutputStream();*/
//解决响应乱码第一种方式
//response.setHeader("content-type", "text/html;charset=utf-8");
//解决响应乱码第二种方式
response.setContentType("text/html;charset=utf-8");
response.getWriter().print("<table border=1px>");
response.getWriter().print("<tr>");
response.getWriter().print("<td>");
response.getWriter().print("汤姆猫");
response.getWriter().print("</td>");
response.getWriter().print("<td>");
response.getWriter().print("123");
response.getWriter().print("</td>");
response.getWriter().print("</tr>");
response.getWriter().print("</table>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}