robinsonZ 2015-10-10 02:30 采纳率: 50%
浏览 3889
已采纳

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条回答 默认 最新

  • 毕小宝 博客专家认证 2015-10-10 03:24
    关注

    正常来说你直接用@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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于CPLEX的问题,请专家解答
  • ¥15 cocos的点击事件 怎么穿透到 原生fragment上。
  • ¥20 基于相关估计的TDOA算法中的加权最小二乘拟合法matlab仿真
  • ¥20 基于相关估计的TDOA算法中的自适应加权广义互相关法。
  • ¥15 abaqus CAE 2024软件启动问题
  • ¥20 基于相关估计的TDOA算法中的局部互相关函数滤波matlab仿真
  • ¥15 CDH6.0.1 hue报错
  • ¥15 javaFX利用scene builder的fxml文件进行开发时的label setText方法未生效问题
  • ¥15 notepad++ 自动补全提示,如输入汉字"人名",就会出现"张三","李四"
  • ¥15 如何用matlab实现PSO算法与两种智能优化算法在30维和50维问题上的性能比较?