在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, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
在應用根目錄創建bbs.jsp文件,內容為:
<%@ page contentType="text/html;charset=UTF-8"%> <%out.println(request.getAttribute("id")); %>
注意很多人傳遞參數不成功是因為是在doGet方法中調用doPost,這里doGet方法不要調用doPost.
新聞熱點
疑難解答
圖片精選