【发布时间】:2011-03-20 05:55:28
【问题描述】:
总的来说,我对 servlet 和 Web 开发还很陌生。
所以基本上我有一个查询数据库并返回一些值(如名称)的 servlet。我想要的是将名称转换为打开该名称的详细信息页面的链接(另一个 servlet 将处理)。如何将名称发送到另一个 servlet,以便它可以查询数据库以获取相关详细信息?
也许我采取了错误的方法?
编辑:我使用的是 Tomcat 5.5
【问题讨论】:
总的来说,我对 servlet 和 Web 开发还很陌生。
所以基本上我有一个查询数据库并返回一些值(如名称)的 servlet。我想要的是将名称转换为打开该名称的详细信息页面的链接(另一个 servlet 将处理)。如何将名称发送到另一个 servlet,以便它可以查询数据库以获取相关详细信息?
也许我采取了错误的方法?
编辑:我使用的是 Tomcat 5.5
【问题讨论】:
将其作为请求参数传递。
要么将其添加到另一个 servlet 的链接的 URL 的查询字符串中,然后 request.getParameter("name") 在 doGet() 方法中可用。
<a href="otherservlet?name=${name}">link</a>
或者将其添加为 POST 表单中的隐藏输入字段,该字段提交给另一个 servlet,然后 request.getParameter("name") 在 doPost() 方法中可以使用该 servlet。
<form action="otherservlet" method="post">
<input type="hidden" name="name" value="${name}" />
<input type="submit" />
</form>
【讨论】:
不确定我是否理解正确,但您可以查看 javax.servlet.RequestDispatcher 并将 url 转发到第二个 servlet。 可以使用名称创建 url:
http://myhost.mydomain/my.context/servlet2.do?name=John
【讨论】:
我会在第一个 servlet 或客户端中创建 URL,使用 URL 的可配置模板。这样,两个 servlet 就清晰地分开了——您甚至可以将每个 servlet 放在不同的机器上。
【讨论】: