Javaweb

发送错误页面

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;


public class AServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.sendError(404, "不给你!!");
    }

}

显示图片

 1 import java.io.FileInputStream;
 2 import java.io.IOException;
 3 
 4 import javax.servlet.ServletException;
 5 import javax.servlet.http.HttpServlet;
 6 import javax.servlet.http.HttpServletRequest;
 7 import javax.servlet.http.HttpServletResponse;
 8 
 9 import org.apache.commons.io.IOUtils;
10 
11 
12 public class BServlet extends HttpServlet {
13 
14 
15     public void doGet(HttpServletRequest request, HttpServletResponse response)
16             throws ServletException, IOException {
17         /*String s = "Hellow outputStream";
18         byte[] bytes = s.getBytes();
19         response.getOutputStream().write(bytes);*/
20         String path = "F:/521宿舍线上点单.png";
21         /*
22          * 响应字节数据
23          * 把一张图片读到数组中
24          */
25         FileInputStream in = new FileInputStream(path);
26         byte[] bytes = IOUtils.toByteArray(in);//读取输入流的字节到字节数组中
27         response.getOutputStream().write(bytes);
28         
29         
30     }
31 
32 }

重定向

 1 import java.io.IOException;
 2 import java.io.PrintWriter;
 3 
 4 import javax.servlet.ServletException;
 5 import javax.servlet.http.HttpServlet;
 6 import javax.servlet.http.HttpServletRequest;
 7 import javax.servlet.http.HttpServletResponse;
 8 
 9 
10 public class CServlet extends HttpServlet {
11 
12     /**
13      * The doGet method of the servlet. <br>
14      *
15      * This method is called when a form has its tag value method equals to get.
16      * 
17      * @param request the request send by the client to the server
18      * @param response the response send by the server to the client
19      * @throws ServletException if an error occurred
20      * @throws IOException if an error occurred
21      */
22     public void doGet(HttpServletRequest request, HttpServletResponse response)
23             throws ServletException, IOException {
24         System.out.println("CServlet");
25         /*
26          * 重定向     1、设置Localhost  2、发送302状态码
27          */
28         /*response.setHeader("Localhost", "DServlet");
29         response.setStatus(302);*/
30         
31         /*
32          * 快捷重定向
33          */
34         response.sendRedirect("www.baidu.com");
35     }
36 
37 }
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;


public class DServlet extends HttpServlet {


    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("DServlet");
    }

}
	/**
	 * 路径 
	 * web.xml中<url-pattern>路径(它是Servlet路径)
	 * 	要么以"*"开头 要么以"/"开头
	 * 不以"/"开头:相对当前Servlet路径
	 * 
	 * 转发和包含路径 
	 * ***以"/"开头 相对于当前路径  例如httpL//localhost:8080/项目名   request.getRequestdispacher("/Bservlet").for..();  
	 * 不以"/"开头相当于Servlet路径  
	 * 
	 * 重定向路径(客户端路径)
	 * 以 "/" 开头相对当前主机  例如"http://localhost:8080"  所以需要自己手动添加项目名   reponse.sendRedirect("/day10_1/Servlet")
	 * 
	 * 页面中超链接和表单路径  
	 * 		与重定向相同都是客户端路径,需要添加项目名
	 * 
	 * 建议使用"/" 开头的路径  即绝对路径
	 * 
	 * ServletContext获取资源路径()
	 * 相当于项目目录  即当然index.jsp所在目录
	 * 
	 * ClassLoader获取资源路径
	 * 相对classes路径
	 * 
	 * class获取资源路径
	 * 以"/"开头相对classes目录
	 * 不以"/"开头相对于当前.class文件所在目录
	 */

  

原文地址:https://www.cnblogs.com/mzdljgz/p/10454399.html