是否可以将默认参数发送到相同的 servlet 但 url 模式不同。
就像我有一个 servlet /Add
不同的 url 模式,如 /AddPerson
或 /AddEmplyoee
将映射到 /Add
小服务程序。但是我想在调用/Add servlet 时传递一些参数。喜欢什么时候 /AddPerson
称为 send type = 1 to /Add
小服务程序。当/AddEmplyoee
称为 send type = 2 to /Add
服务程序。
我知道我可以将初始化参数传递给 /Add
使用 <init-param>
的 servlet标签。
是否可以这样做,或者我想为每个不同的操作编写不同的 servlet?
最佳答案
是。它认为这是可能的。 如果(在 web.xml 中)您定义了 servlet AddPerson(使用 servlet-class=com.foo.Add)和一个 servlet AddEmplyoee (使用相同 servlet 类)比您可以使用不同的初始化参数。例如
<servlet>
<servlet-name>AddPerson</servlet-name>
<servlet-class>com.foo.Add</servlet-class>
<init-param>
<param-name>myParam</param-name>
<param-value>MyVal1</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>AddEmplyoee</servlet-name>
<servlet-class>com.foo.Add</servlet-class>
<init-param>
<param-name>myParam</param-name>
<param-value>MyVal2</param-value>
</init-param>
</servlet>
具有以下映射:
<servlet-mapping>
<servlet-name>AddPerson</servlet-name>
<url-pattern>/addperson</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AddEmployee</servlet-name>
<url-pattern>/addemployee</url-pattern>
</servlet-mapping>
如果我错了,您可以纠正我,但我认为,这最终会出现在两个单独的 servlet 中(都基于同一个类)。
关于Java : different init parameters to same servlet based on different URL patteren,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24736948/