getAttribute()和getParameter()异同
1.getAttribute()获取servlet之间的信息:
在servletOne中设置如下,然后进行跳转到servletTwo中,thCon为web.xml中映射的名称。
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
ServletContext sct =getServletContext();
//2.取值
int count = 58;
//3.放回ServletContext中
sct.setAttribute("count", count);
resp.sendRedirect("/servlet_one/thCon");
}
在servletTwo中获取数据,如下:
protected void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
//共享数据
//1.获取ServletContext
ServletContext sct =getServletContext();
//2.取值
int count = (int) sct.getAttribute("count");
//3.放回ServletContext中
sct.setAttribute("count", count);
resp.setContentType("text/html;charset=UTF-8");
resp.getWriter().print("好文章....<hr>");
resp.getWriter().print("Count is:"+count);
}
2.getAttribute()在jsp中传递数据
在第一个jsp页面中设置数据,跳转到第二个jsp页面。
<%
pageContext.getRequest().setAttribute("mmm","m");
request.setAttribute("kkk",666);
%>
<jsp:forward page="page.jsp" />
第二个jsp页面为:
<body>
<%
String str=(String)pageContext.getRequest().getAttribute("mmm");
int str2=(int)pageContext.getRequest().getAttribute("kkk");
%>
<% out.println(str); %>
<% out.println(str2); %>
</body>