如何获得根路径重定向以不响应 Eclipse 码头中的所有请求?
how do I get a root path redirect to not respond to all requests in eclipse jetty?
我有一个 jetty servlet 页面集,所有页面都已设置好并可以正常工作。
要进入目标网页,您必须输入完整的 url http://127.0.0.1/console/console.jsp
我的上下文“控制台”一切正常。
我想为根 url 添加一个处理程序,这样我就可以放入一个主机,它会重定向到上面的 url.
我成功了,只是似乎每个请求也都通过我的根路径处理程序,并且它扰乱了对真实 jsp 页面的所有其他请求。
我如何防止它这样做,或者我有什么不同的做法?
我的web.xml...
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description></description>
<servlet-name>console</servlet-name>
<servlet-class>net.console.Consoleservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>console</servlet-name>
<url-pattern>/console</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<servlet-name>redirect</servlet-name>
<servlet-class>net.console.Redirectservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>redirect</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
我的重定向 servlet 的精简版...
public class Redirectservlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet
{
static final long serialVersionUID = 1L;
public Redirectservlet()
{
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{
String redirect_path = "http://127.0.0.1/console/console.jsp";
response.sendRedirect(redirect_path);
}
catch (Exception e)
{
}
}
尝试在 WEB-INF/web.xml
...
中使用欢迎文件而不是 RedirectServlet
<web-app ...>
<welcome-file-list>
<welcome-file>console/console.jsp</welcome-file>
</welcome-file-list>
... other entries
</web-app>
如果这不起作用,请考虑将其改为 RedirectFilter
,并且仅当 request.getRequestURI()
仅在应重定向的精确请求 URI 字符串匹配列表中时才发送重定向。
我有一个 jetty servlet 页面集,所有页面都已设置好并可以正常工作。
要进入目标网页,您必须输入完整的 url http://127.0.0.1/console/console.jsp
我的上下文“控制台”一切正常。
我想为根 url 添加一个处理程序,这样我就可以放入一个主机,它会重定向到上面的 url.
我成功了,只是似乎每个请求也都通过我的根路径处理程序,并且它扰乱了对真实 jsp 页面的所有其他请求。
我如何防止它这样做,或者我有什么不同的做法?
我的web.xml...
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<description></description>
<servlet-name>console</servlet-name>
<servlet-class>net.console.Consoleservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>console</servlet-name>
<url-pattern>/console</url-pattern>
</servlet-mapping>
<servlet>
<description></description>
<servlet-name>redirect</servlet-name>
<servlet-class>net.console.Redirectservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>redirect</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
我的重定向 servlet 的精简版...
public class Redirectservlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet
{
static final long serialVersionUID = 1L;
public Redirectservlet()
{
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
try
{
String redirect_path = "http://127.0.0.1/console/console.jsp";
response.sendRedirect(redirect_path);
}
catch (Exception e)
{
}
}
尝试在 WEB-INF/web.xml
...
RedirectServlet
<web-app ...>
<welcome-file-list>
<welcome-file>console/console.jsp</welcome-file>
</welcome-file-list>
... other entries
</web-app>
如果这不起作用,请考虑将其改为 RedirectFilter
,并且仅当 request.getRequestURI()
仅在应重定向的精确请求 URI 字符串匹配列表中时才发送重定向。