Recently in writing a program using the technology S2sh, which has a piece of online payment platform, because the online payment platform is very early written in the servlet way written,
The problem encountered is to configure the Struts2 in the Web.xml configuration and to configure the servlet as follows:
<filter>
<filter-name>Struts2</filter-name>
<filter-class>
Org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/ * </url-pattern>
</filter-mapping>
<servlet>
<display-name>
This is the display name of my Java EE component
</display-name>
<servlet-name>PaymentRequest</servlet-name>
<servlet-class>servlet. Paymentrequest</servlet-class>
</servlet>
<servlet>
<display-name>
This is the display name of my Java EE component
</display-name>
<servlet-name>PaymentResult</servlet-name>
<servlet-class>servlet. Paymentresult</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PaymentRequest</servlet-name>
<url-pattern>/servlet/PaymentRequest</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PaymentResult</servlet-name>
<url-pattern>/servlet/PaymentResult</url-pattern>
</servlet-mapping>
One result of this is that Struts2 also intercepts the URL of the request servlet, which means that the servlet is not requested.
The workaround is to modify the Struts2 blocking method:
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
</filter-mapping>
Make a note of this issue and do a little reference for the latter.