【发布时间】:2014-08-22 05:49:02
【问题描述】:
我刚刚开始学习 servlet,并且正在尝试做一个购物项目。 问题是,当所有超链接都具有相同的操作 servlet 时,我如何确定单击了多个超链接中的哪个超链接? 这是代码:
HTML 代码:
Product 1
<a name="sub" value="1" href="Cart">Add to cart?</a>
Product 2
<a name="sub" value="2" href="Cart">Add to cart?</a>
Servlet 代码(Cart.java):
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
Connection con=DriverManager.getConnection("...","...","...");
int id=Integer.parseInt(request.getParameter("sub").trim());
PreparedStatement ps=con.prepareStatement("select price,qty from product where pid=?");
PrintWriter out=response.getWriter();
ps.setInt(1, id);
ResultSet rs=ps.executeQuery();
}
我不能为每个超链接创建单独的 servlet,因为一个页面上有很多超链接,而且我也有多个页面。所以这是不可能的。
我尝试在标签中添加一个值字段并使用 getParameter() 获取值,但我得到一个 NULL 指针异常。 我该怎么办? 如果我在 servlet 中明确设置 id 的值,则代码运行良好。但这无法完成,因为 servlet 将仅适用于该特定产品。 我只是一个初学者,不知道java中是否存在任何方法。 :(
我也想问一下,如果有几个html页面调用同一个servlet,有没有办法在servlet中获取那个html文件的名字?
【问题讨论】:
-
如果您有单独的问题,您应该单独提出。
-
不允许在 90 分钟内问超过 1 个问题 :( 并且这两个问题都与相同的代码有关 :) – @Whymarrh
标签: java html servlets hyperlink