jsp页面中获取servlet请求中的参数的办法详解
在JAVAWEB应用中,如何获取servlet请求中的参数,并传递给跳转的JSP页面?例如访问http://localhost:8088/bbs?id=1
当执行这个bbsservlet时,将url参数id的值传递给bbs.jsp页面?
1.首先要配置web.xml,见下面的配置:
bbs org.openjweb.core.servlet.BBSServlet bbs /bbs
2.编写servlet类:
packageorg.openjweb.core.servlet;
importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassBBSServletextendsHttpServlet
{
privatestaticfinallongserialVersionUID=1L;
publicBBSServlet()
{
super();
//TODOAuto-generatedconstructorstub
}
protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
//http://bbs.csdn.net/topics/90438353
request.setCharacterEncoding("UTF-8");//设置编码
Stringid=request.getParameter("id");
request.setAttribute("id",id);
request.getRequestDispatcher("/bbs.jsp").forward(request,response);
}
protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException
{
doGet(request,response);
}
}
在应用根目录创建bbs.jsp文件,内容为:
<%@pagecontentType="text/html;charset=UTF-8"%>
<%
out.println(request.getAttribute("id"));
%>
注意很多人传递参数不成功是因为是在doGet方法中调用doPost,这里doGet方法不要调用doPost.