gpt4 book ai didi

java - 使用 将值从 jsp 传递到 servlet

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:48:56 26 4
gpt4 key购买 nike

我有 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

我可以调用servlet123中的特定方法吗? (如 foo() )使用 JSP 中的链接?

编辑:

如何在 URL 中调用 servlet?我的页面层次结构如下 -

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

我想调用 servlet123在文件夹 src->control 中。

我试过了 <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 绑定(bind)到特定的 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(如果您正在使用 myApp,则将其作为您的应用程序上下文)。

关于java - 使用 <a href> 将值从 jsp 传递到 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11840751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com