当前位置: 首页 > 面试题库 >

码头'{servlet} / {parameter}'网址路由

梁俊智
2023-03-14
问题内容

我正在使用码头9.0.3。

如何将URL(例如www.myweb.com/{servlet}/{parameter})映射到给定的servlet和参数?

例如,URL’/ client / 12312’将路由到clientServlet,其doGet方法将接收12312作为参数。


问题答案:

您将有两个部分需要担心。

  1. 您的pathSpec WEB-INF/web.xml
  2. Servlet中的HttpServletRequest.getPathInfo()。

pathSpec

在您中,WEB-INF/web.xml您必须声明Servlet和url模式(也称为pathSpec)。

例:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app 
   xmlns="http://java.sun.com/xml/ns/javaee" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
   metadata-complete="false"
   version="3.0">

  <display-name>Example WebApp</display-name>

  <servlet>
    <servlet-name>clientServlet</servlet-name>
    <servlet-class>com.mycompany.ClientServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>clientServlet</servlet-name>
    <url-pattern>/client/*</url-pattern>
  </servlet-mapping>
</web-app>

这将com.mycompany.ClientServlet在名称上设置为类的servlet,clientServlet然后/client/*为传入的请求URL
指定url-pattern 。

/*url-pattern末尾的多余/client/字符可以接受以开头的任何传入模式,这对于pathInfo部分很重要。

pathInfo

接下来,我们进入Servlet实现。

在ClientServlet上的doGet(HttpServletRequest req,HttpServletResponse
resp)
实现中,您应该访问req.getPathInfo()值,该值将接收URL
/client模式后面的请求URL部分。

例:

Request URL        Path Info
----------------   ------------
/client/           /
/client/hi         /hi
/client/world/     /world/
/client/a/b/c      /a/b/c

此时,您可以针对“路径信息”中的信息执行任何逻辑操作



 类似资料:
  • 例如,URL'/client/12312'将路由到clientServlet,其方法将接收12312作为参数。

  • 问题内容: 我需要设置Servlet(由于某些原因,只有Servlet而不是处理程序)才能在war之外使用文件。在这里我找到了以下解决方案: 此解决方案有效,这就是我需要的。但是,一旦将LINE N更改为,它就会停止工作。我尝试了“ / foo /”,“ / foo”,但是结果是相同的-我得到了。为什么?如何在特定背景下使用它?由于相同的原因,我使用码头9.2.15。 问题答案: 该设计看后请求U

  • 一、URL路由网址说明 引导文件为:index.php,若web服务器软件为Apache时,.htaccess文件也算作引导文件。DoitPHP框架由引导文件来处理客户提交的网址。如: http://www.example.com/index.php/post/show。DoitPHP框架支持两种模式的网址访问,一种为路由模式,默认为路由模式;另一种为标准模式(普通传统模式),标准模式的网址对we

  • 本文向大家介绍magento 忘记密码网址,包括了magento 忘记密码网址的使用技巧和注意事项,需要的朋友参考一下 示例 $this->helper('customer/data')->getForgotPasswordUrl(); 要么 Mage::helper('customer/data')->getForgotPasswordUrl();

  • 本文向大家介绍C#获取路由器外网IP,MAC地址的实现代码,包括了C#获取路由器外网IP,MAC地址的实现代码的使用技巧和注意事项,需要的朋友参考一下 C#实现的获取路由器MAC地址,路由器外网地址。对于要获取路由器MAC地址,一定需要知道路由器web管理系统的用户名和密码。至于获取路由器的外网IP地址,可以不需要知道路由器web管理系统的用户名和密码,但是需要有一个代理页面获取客户端公网ip地址

  • 问题内容: 给定CIDR地址,例如 如何确定面膜长度?() 如何确定掩码地址?() 如何确定网络地址?() 问题答案: 它由apache utils涵盖。 请参阅以下URL:http : //commons.apache.org/proper/commons- net/apidocs/org/apache/commons/net/util/SubnetUtils.html 注意:对于使用// 32