jsp页面中获取servlet请求中的参数的办法详解

在JAVA WEB应用中,如何获取servlet请求中的参数,并传递给跳转的JSP页面?例如访问http://localhost:8088/bbs?id=1

当执行这个bbs servlet时,将url参数id的值传递给bbs.jsp页面

1.首先要配置web.xml,见下面的配置:

<servlet>
 <servlet-name>bbs</servlet-name>
 <servlet-class>
  org.openjweb.core.servlet.BBSServlet
 </servlet-class>
 </servlet>
 <servlet-mapping>
 <servlet-name>bbs</servlet-name>
 <url-pattern>/bbs</url-pattern>
 </servlet-mapping>

2.编写servlet类:

package org.openjweb.core.servlet;

import java.io.IOException;
import javax.servlet.servletexception;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
public class BBSServlet extends HttpServlet 
{
 private static final long serialVersionUID = 1L;
  public BBSServlet() 
  {
    super();
    // Todo Auto-generated constructor stub
  }
  
 protected void doGet(HttpServletRequest request,HttpServletResponse response) 
 throws servletexception,IOException 
 { 
  //http://bbs.csdn.net/topics/90438353
   request.setCharacterEncoding("UTF-8");  //设置编码
   String id = request.getParameter("id");
   request.setAttribute("id",id);
   request.getRequestdispatcher("/bbs.jsp").forward(request,response);
 }
 
 protected void doPost(HttpServletRequest request,IOException 
 {
 doGet(request,response);
 
 }
}

在应用根目录创建bbs.jsp文件内容为:

 <%@ page contentType="text/html;charset=UTF-8"%>
 <%
out.println(request.getAttribute("id"));

 %>

注意很多人传递参数不成功是因为是在doGet方法调用doPost,这里doGet方法不要调用doPost.

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...