繁体   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