Jsp RequestDispatcher.forward(req,res)不工作

Jsp RequestDispatcher.forward(req,res)不工作,jsp,servlet-3.0,Jsp,Servlet 3.0,嗨, 我正在处理JSPServlet项目,因为我已经创建了一个CommonServlet类,从中我转发重定向JSP页面的请求,我的代码如下所示 Web.xml 常见的 com.server.CommonServlet 常见的 /common/*.jsp 但这不起作用,它将为所有其他文件获得相同的公共路径。 有人能帮我吗 首先,我假设在web.xml <welcome-file-list> <welcome-file>index.jsp</welcome-fi

嗨, 我正在处理JSPServlet项目,因为我已经创建了一个CommonServlet类,从中我转发重定向JSP页面的请求,我的代码如下所示

Web.xml


常见的
com.server.CommonServlet
常见的
/common/*.jsp
但这不起作用,它将为所有其他文件获得相同的公共路径。
有人能帮我吗

首先,我假设在
web.xml

<welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<filter>
    <filter-name>yourFilter</filter-name>
    <filter-class>org.yourpackage.YourFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>yourFilter</filter-name>
    <url-pattern>/common/*</url-pattern> 
</filter-mapping>
index.jsp
中,有一个表单可以像这样调用servlet

<form method="get" action="common" name="form">
<input type="submit" value="LOGIN"/>
</form>
编辑:尝试以下方法 将
web.xml
中的url映射更改为

<url-pattern>/myservlet</url-pattern>
然后是过滤器类

public class YourFilter implements javax.servlet.Filter {

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain fc) 
      throws IOException, ServletException {

    HttpServletRequest request = (HttpServletRequest) req;
    String url = request.getRequestURL().toString();
    if(url.endsWith(".jsp")) {
      RequestDispatcher dispatcher = request.getRequestDispatcher("/myserlvet");
        dispatcher.forward(req, res);
    }
}

@Override
public void init(FilterConfig fc) throws ServletException {

}}

请发布项目结构及其调用index.jsp。但是如果我想在我的url模式类似于common/*.jsp时调用commonServlet,该怎么办?首先,为什么需要
common/*.jsp
,这只意味着common文件夹下的所有jsp都想访问ServletYes。我创建了一个公共servlet来重定向传递的JSP,但在这个公共servlet中没有任何其他逻辑。但是url模式不应该是这样的,因为它会抛出'java.lang.IllegalArgumentException:Invalid',如果我喜欢common/*那么它会检查所有JSP、js、image,所以我只想为JSP调用这个servlet。你能帮我一下吗
RequestDispatcher rd=req.getRequestDispatcher("login.jsp");
rd.include(request,response);
<url-pattern>/myservlet</url-pattern>
<filter>
    <filter-name>yourFilter</filter-name>
    <filter-class>org.yourpackage.YourFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>yourFilter</filter-name>
    <url-pattern>/common/*</url-pattern> 
</filter-mapping>
public class YourFilter implements javax.servlet.Filter {

@Override
public void destroy() {
}

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain fc) 
      throws IOException, ServletException {

    HttpServletRequest request = (HttpServletRequest) req;
    String url = request.getRequestURL().toString();
    if(url.endsWith(".jsp")) {
      RequestDispatcher dispatcher = request.getRequestDispatcher("/myserlvet");
        dispatcher.forward(req, res);
    }
}

@Override
public void init(FilterConfig fc) throws ServletException {

}}