【问题标题】:How to use single Servlet with different URL pattern?如何使用具有不同 URL 模式的单个 Servlet?
【发布时间】:2012-01-22 10:09:50
【问题描述】:

我需要使用具有不同 URL 模式的单个 servlet。我已经在tomcat服务器中尝试了如下。但是我想知道真正的编码标准请帮帮我?

String servletPath = request.getServletPath();
    
    if("/HelloServletone".equalsIgnoreCase(servletPath))
    {
        System.err.println("1?*");
                ///logic move to controller one

    }
    
    if("/HelloServlettwo".equalsIgnoreCase(servletPath))
    {
           System.err.println("2*");
           ///logic move to controller two
    }

web.xml

<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>

 <servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/HelloServletone</url-pattern>
</servlet-mapping>

 <servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/HelloServlettwo</url-pattern>
</servlet-mapping>

 

jsp1:

<form method="post" action="HelloServletone">
  //getting inputs and move to servlet
<input type="submit" value="login " />

jsp2:

<form method="post" action="HelloServlettwo">
  //getting inputs and move to servlet

【问题讨论】:

  • 我的 servlet 根据调用它的路径做了两件不同的事情,为什么不创建两个不同的 servlet?
  • Nizet 我的目标是使用单个 servlet 并为每个不同的 jsp 使用多个控制器..
  • 除非这是为了学习,否则你就是在重新发明轮子。使用 MVC 框架来为你做这件事:Stripes、Spring MVC、Struts2 等等。
  • 所以你的建议是,必须为不同的逻辑使用不同的servlet...有没有办法在servlet中定义不同的方法并从不同的jsp调用它...如果是,我们可以使用单个 servlet 对 NIzet 有什么想法吗?
  • 这种功能由 MVC 框架(如 Stripes、Spring MVC 等)提供。除非您尝试实现这样的框架是为了娱乐或学习,否则请选择其中一个(Stripes非常简单,而且设计得非常好)并使用它。

标签: jsp servlets


【解决方案1】:

您可以在一个 servlet 映射中使用多个 URL。

<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
<url-pattern>/HelloServletOne</url-pattern>
<url-pattern>/HelloServletTwo</url-pattern>
</servlet-mapping>

【讨论】:

  • ramesh 即使我也做了同样的事情......但是你能告诉我如何在单个 servlet 中处理这些 url 模式......
  • ramesh 我需要的是从不同的 jsp 传递这个 url 模式并在 servlet 中识别它......以标准方式..
猜你喜欢
  • 1970-01-01
  • 2012-02-18
  • 2011-12-14
  • 2012-11-26
  • 2011-06-11
  • 1970-01-01
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多