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.