在JAVA WEB應(yīng)用中,如何獲取servlet請(qǐng)求中的參數(shù),并傳遞給跳轉(zhuǎn)的JSP頁面?例如訪問http://localhost:8088/bbs?id=1
當(dāng)執(zhí)行這個(gè)bbs servlet時(shí),將url參數(shù)id的值傳遞給bbs.jsp頁面?
1.首先要配置web.xml,見下面的配置:
1
2
3
4
5
6
7
8
9
10
|
< 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類:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
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" ); //設(shè)置編碼 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); } } |
在應(yīng)用根目錄創(chuàng)建bbs.jsp文件,內(nèi)容為:
1
2
3
4
5
|
<%@ page contentType= "text/html;charset=UTF-8" %> <% out.println(request.getAttribute( "id" )); %> |
注意很多人傳遞參數(shù)不成功是因?yàn)槭窃赿oGet方法中調(diào)用doPost,這里doGet方法不要調(diào)用doPost.