java web无法调用含有@WebServlet("")的java方法

我想问一下,我这样要怎么才能调用src里包里的java方法?

web.xml:

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"  metadata-complete="true">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <listener>
    <listener-class>(省略包名).utils.StatisticsContextListener</listener-class>
  </listener>
  <filter>
    <filter-name>charsetfileter</filter-name>
    <filter-class>(省略包名).utils.CharSetFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>charsetfileter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

charsetfilter.java:

 public class CharSetFilter implements Filter {

    public void destroy() {
    }

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {

        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=UTF-8");
        chain.doFilter(request, response);

    }

    public void init(FilterConfig arg0) throws ServletException {
        System.out.println("init");
    }
}

想调用的方法:
AskShopInfo.java:

 @WebServlet("/AskShopInfo")
public class AskShopInfo extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("AskShopInfo");
    }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("AskShopInfo");
        doGet(request, response);
    }

}

1个回答

正常来说你直接用@WebServlet注解的话,直接访问这个注解的地址即http://localhost:8080/ProjectName/AskShopInfo就能访问这个servlet了。
如果不能访问,检查下tomcate的版本,@WebServlet注解是Servlet3.0的新特性,只有tomcat 7.0.X 支持Servlet 3.0。
注解的详解,参考:http://blog.csdn.net/xiazdong/article/details/7208316

robinsonZ
robinsonZ 但是现在调用不了啊。。。在WEB-INF里的index.jsp可以访问,数据库也可以连接,但是访问不了AskShopInfo这个java方法,是不是因为过滤器的问题啊?
大约 5 年之前 回复
robinsonZ
robinsonZ 但是现在调用不了啊。。。在WEB-INF里的index.jsp可以访问,数据库也可以连接,但是访问不了AskShopInfo这个java方法,是不是因为过滤器的问题啊?
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐