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

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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵