在Eclipse 中创建一个Servlet或者Filter为什么能创建的出来,但部署运行却说找不到Filter和HttpServlet

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.Dispatch;

/**
* Servlet implementation class UserSrv
*/
public class UserSrv extends HttpServlet {
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String a="垃圾处理";

request.setAttribute("a",a);
RequestDispatcher dispatcher=request.getRequestDispatcher("/index.jsp");
dispatcher.forward(request, response);
}

}

为什么能新建,类开头那些包也导入了,却不运行呢?
这个是过滤器
package com.test.dao;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
* Servlet Filter implementation class Charactor
*/
public class CharactorEncodFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");

chain.doFilter(request, response);
}

}
重启Tomcat就会报:java.lang.NoClassDefFoundError: Filter

是不是web.xml里面没有配置? 或者没有编译项目追问

不是,我在新建时,IDE自动有在web.xml有配置啊,会不会eclipse中不带对servet和Filter的包呢。是不是要手动导入什么包呢?

追答

需要servlet-api.jar,你应该导入了吧,不然编译就会报错

追问

哦。真是太谢谢你了,这个包是要在网上下载吗?那个对Filter的支持包呢?也是要下载吗?

追答

都在这个包内,给个邮箱,我可以发给你

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答