簡體   English   中英

使用以下命令將值從jsp傳遞到servlet

[英]pass values from jsp to servlet using <a href>

我有JSP頁面-

<html>
<head>
</head>
<body>
         <%
               String valueToPass = "Hello" ; 
         %>
    <a href="goToServlet...">Go to servlet</a>
</body>
</html>

和servlet-

    @WebServlet(name="/servlet123",
             urlPatterns={"/servlet123"})
    public class servlet123 extends HttpServlet {

        protected void doGet(HttpServletRequest request,
                HttpServletResponse response) throws ServletException, IOException {

        }

        public void foo() {

        }
}

我應該在<a href="goToServlet...">Go to servlet</a>中寫什么,以便將值(例如valueToPass或可能將值添加為)添加到servlet123

是否可以使用JSP中的鏈接調用servlet123的特定方法(如foo() )?

編輯:

如何在URL中調用servlet? 我的頁面層次結構如下所示-

WebContent
 |-- JSPtest
 |    |-- callServletFromLink.jsp
 |-- WEB-INF
 :    :

我想在servlet123 > control文件夾中調用servlet123

我嘗試了<a href="servlet123">Go to servlet</a>但是當我按鏈接時它沒有找到servlet。

第二次編輯:

我嘗試<a href="http://localhost:8080/MyProjectName/servlet123">Go to servlet</a>並成功了。

如果要使用URL將參數發送到servlet,則應采用這種方式

<a href="goToServlet?param1=value1&param2=value2">Go to servlet</a>

然后檢索將在請求中可用的值。

關於第二個問題。 我會說不。 您可以在URL中添加參數,例如

<a href="goToServlet?method=methodName&param1=value1">Go to servlet</a>

並使用該信息來調用特定方法。

順便說一句,如果您使用Struts之類的框架,這將更加容易,因為在Struts中,您可以將URL綁定到特定的Action方法(比如說“ servlet”)

編輯

您已通過以下方式定義了servlet:

@WebServlet("/servlet123")

您,您的servlet將在/ servlet123上可用。 請參閱doc

我已經測試過您的代碼,並且可以正常工作:

@WebServlet(name = "/servlet123", urlPatterns = { "/servlet123" })
public class Servlet123 extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        resp.setContentType("text/html");
        PrintWriter out = resp.getWriter();
        out.write("<h2>Hello Friends! Welcome to the world of servlet annotation </h2>");
        out.write("<br/>");
        out.close();
    }
}

然后,我在http://localhost:8080/myApp/servlet123調用了servlet(如果使用http://localhost:8080/myApp/servlet123其作為應用程序上下文)。

<a href="url">urltitle</a>允許您定義一個URL。 從這里調用Servlet與從瀏覽器調用Servlet一樣好,只需提供您在瀏覽器中提供的url,就像在http://mysite.com?param1=val1&param2=val2等中調用servlet一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM