标签:
public class Servlet01_ServletConfig extends HttpServlet { public Servlet01_ServletConfig() { System.out.println("实例化~~~~~~~~~~"); } @Override public void init() throws ServletException { System.out.println("初始化啦-~~~~~~~~~~"); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletConfig config = getServletConfig(); response.getOutputStream().write(config.getInitParameter("cgx").getBytes()); response.getOutputStream().write("<br/>hahawoshi 01 <br/>".getBytes()); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } @Override public void destroy() { System.out.println("销毁了~~~~~~~~~~~"); } }
public class Servlet02_ServletContext extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Enumeration<String> names = getServletContext().getInitParameterNames(); while(names.hasMoreElements()) { String name = names.nextElement(); String value = getServletContext().getInitParameter(name); System.out.println(name + ">>>" + value); } //COMM--setAttribute---------ServletContext域间访问------------------- ServletContext context = getServletContext(); context.setAttribute("web", "haha...."); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } } -------------------------getAttribute()------------------------------- public class Servlet02_GetServletContext extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Context域通信 String value = (String)getServletContext().getAttribute("web"); response.getOutputStream().write(value.getBytes()); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
public class Servlet03_Dispatcher extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher relay = getServletContext().getRequestDispatcher("/servlet/Servlet01_ServletConfig"); // relay.forward(request, response); relay.include(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// 方式1,通过ServletContext获取资源路径
// testGetRealPath(response);
// 方式2,通过ResourceBoudle获取资源路径,只能获取src资源,一般只用写基名即可
// testResourceBundle(response);
// 方式3,通过ClassLoader类加载器获取资源路径
testClassLoader(response);
}
/**
* @param response
* @throws IOException
*/
private void testClassLoader(HttpServletResponse response)
throws IOException {
ClassLoader loader = Servlet04_GetResource.class.getClassLoader();
// InputStream is = loader.getResourceAsStream("com/itheima/day07Home/cfg.properties");
// InputStream is = loader.getResourceAsStream("cfg2.properties");
InputStream is = loader.getResourceAsStream("../cfg3.properties");
Properties prop = new Properties();
prop.load(is);
response.getOutputStream().write(prop.getProperty("p").getBytes());
}
/**
* @param response
* @throws IOException
*/
private void testResourceBundle(HttpServletResponse response)
throws IOException {
// ResourceBundle rb = ResourceBundle.getBundle("com.itheima.day07Home.cfg");
ResourceBundle rb = ResourceBundle.getBundle("cfg2");
response.getOutputStream().write(rb.getString("p").getBytes());
}
private void testGetRealPath(HttpServletResponse response)
throws IOException, FileNotFoundException {
// String absolutePath = getServletContext().getRealPath("WEB-INF/classes/com/itheima/day07Home/cfg.properties");
// String absolutePath = getServletContext().getRealPath("WEB-INF/classes/cfg2.properties");
String absolutePath = getServletContext().getRealPath("WEB-INF/cfg3.properties");
Properties prop = new Properties();
prop.load(new FileInputStream(absolutePath));
response.getOutputStream().write(prop.getProperty("p").getBytes());
System.out.println(prop.getProperty("p"));
}
public class Servlet05_Download extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String path = getServletContext().getRealPath("WEB-INF/classes/1.jpg");
response.setHeader("Content-Disposition", "attachment;filename=2.jpg");
response.setHeader("Content-Type", "application/octet-stream");
InputStream is = new FileInputStream(path);
OutputStream os = response.getOutputStream();
byte buf[] = new byte[1024];
int len = -1;
while((len=is.read(buf)) != -1) {
os.write(buf, 0, len);
}
os.close();
is.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
标签:
原文地址:http://www.cnblogs.com/codingpark/p/4231381.html