Servlet中的几个对象:

HttpServletRequestHttpSessionServletContext,这三个对象都有

void setAttribute(String name, Object o)void removeAttribute(String name)<?XML:NAMESPACE PREFIX = O ?>

这两个方法,通过这两个方法我们可以很方便的进行参数的传递。

三个对象的作用域的大小分别由小到大。当我们把一个对象通过void setAttribute(String name, Object o)添加到这三个对象中的时候,除非我们显示的调用void removeAttribute(String name)或者当这三个对象自己销毁否则不会释放这些对象占用的空间,所以我们在将一个对象通过setAttribute添加到这三个对象时,需要注意用完了就remove(当然用完以后这个添加到的对象本身就快销毁时,我们也没必要多此一举)。而且尽量当对象存放在HttpServletRequest,然后才是HttpSession最后才是ServletContext。尽量不要把大对象存放在这些对象中,因为一个进程占用的资源毕竟是有限的。

Servlet中路径跳转的问题:

让我们先通过一个例子来看一下HttpServletRequest的获取路径的一些方法的返回值。

ServletPath:

 

JAVA开发(4) - Servlet中的几个对象 _的package squall.servlet.path;
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的import java.io.IOException;
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的import java.io.PrintWriter;
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的import javax.servlet.ServletException;
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的import javax.servlet.http.HttpServlet;
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的import javax.servlet.http.HttpServletRequest;
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的import javax.servlet.http.HttpServletResponse;
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的public class ServletPath extends HttpServlet
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _开发_25JAVA开发(4) - Servlet中的几个对象 _的_26...{
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 throws ServletException, IOException
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _中_34JAVA开发(4) - Servlet中的几个对象 _的_35 ...{
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 showParam(req,resp);
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _中_39 }
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 throws ServletException, IOException
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _中_34JAVA开发(4) - Servlet中的几个对象 _的_35 ...{
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 showParam(req,resp);
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _中_39 }
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 private void showParam(HttpServletRequest req, HttpServletResponse resp) throws IOException
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _中_34JAVA开发(4) - Servlet中的几个对象 _的_35 ...{
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 resp.setContentType("text/html");
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 PrintWriter out = resp.getWriter();
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 String docType = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> ";
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 out.println(docType + "<HTML> " + "<HEAD><TITLE> pathshow"
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 + "</TITLE></HEAD> " + "<BODY BGCOLOR="#FDF5E6"> "
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 +"getContextPath(): " + req.getContextPath() + " </br>"
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 +"getPathInfo(): " + req.getPathInfo() + " </br>"
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 +"getRequestURI(): " + req.getRequestURI()+ " </br>"
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 +"getRequestURL(): " + req.getRequestURL()+ " </br>"
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 +"getServletPath(): " + req.getServletPath()+ " </br>"
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 +"getQueryString(): " + req.getQueryString()+ " </br>"
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 );
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27 out.println("</body></html>");
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _中_39 }
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _JAVA_27
JAVA开发(4) - Servlet中的几个对象 _的_95}
JAVA开发(4) - Servlet中的几个对象 _的
JAVA开发(4) - Servlet中的几个对象 _的