java - 如何从 HttpServlet 调用 RemoteServiceServlet 中的方法?

标签 java gwt servlets

我正在使用 GWT,并且希望能够通过在浏览器中输入以下 URL 来调用主 RemoteServiceServlet 中的 incrementProduct(String ProductName) 方法:

http://mywebshop.appspot.com/increment?name=pillow

为了处理此请求,我创建了以下 HttpServlet:

public class IncrementServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        System.out.println("IncrementServlet called!");
        String name = request.getParameter("name");
        // Call MyRemoteServiceServlet.incrementProduct(name) somehow
    }
}

并将其添加到 web.xml 中:

<servlet>
    <servlet-name>IncrementServlet</servlet-name>
    <servlet-class>x.y.z.IncrementServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>IncrementServlet</servlet-name>
    <url-pattern>/increment</url-pattern>
</servlet-mapping>
  • 问题 1:这是一种明智的做法吗?
  • 问题 2:如何从 HttpServlet 调用incrementProduct()?

最佳答案

我碰巧忽略了一个解决我问题的重要事实:

  • RemoteServiceServlet 继承 HttpServlet !

所以我只是在 RemoteServiceServlet 中实现了 doGet(),如下所示:

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

    switch (req.getServletPath()) {
    case "/increment":
        incrementProduct(req.getParameter("name"));
        break;
    }
}

并将 web.xml 中的 IncrementServlet 替换为:

<servlet-mapping>
    <servlet-name>MyRemoteServiceServlet</servlet-name>
    <url-pattern>/increment</url-pattern>
</servlet-mapping>

这允许我通过在浏览器中输入此 URL 来调用incrementProduct(...):

http://mywebshop.appspot.com/increment?name=pillow

这正是我想要的!根本不需要另一个 HttpServlet :)

关于java - 如何从 HttpServlet 调用 RemoteServiceServlet 中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16665709/

相关文章:

jsp - 如何使用 CMIS 获取露天任何类型文档的缩略图

Java - SimpleDateFormat 解析 12 :19:00 to 00:19:00

java - Java导入了.jar文件,但jar的类对象无法解析

gwt - 如何将自动监控/服务集成到 gwt 应用程序中?

Android 浏览器 - 无法将输入文本从白色更改为黑色

javax.servlet.ServletException : java. lang.LinkageError

Java servlet 不写入响应字节

java - 使用 spring ws 在 soap 请求中发送 XmlData

java - 在 Java 中将 List<String> 转换为 Map<String, String>

java - GWT 函数在 DatePicker 能够返回所选日期之前完成,如何延迟直到返回日期?