开发环境是myEclipse,已经正确配置filter,但是无法访问,tomcat启动报错
下面是web.xml文件:
<filter><filter-name>MyFilter</filter-name><filter-class>com.jwos.filter.MyFilter1</filter-class></filter>
<filter-mapping><filter-name>MyFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.jwos.controller.LoginServlet</servlet-class>
</servlet>
报错信息:
java.lang.ClassNotFoundException: com.jwos.filter.MyFilter1
死活无法加载,重启,重新部署都不行
我的filter文件:
package com.jwos.filter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.jwos.model.Users;
public class MyFilter1 extends HttpServlet implements Filter{
/**
* Constructor of the object.
*/
public MyFilter1() {
super();
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("myFilter1*******");
HttpServletRequest httpServletRequest=(HttpServletRequest)request;
String uri=httpServletRequest.getRequestURI();
if(uri.startsWith("/UsersManager2/imgs")||uri.startsWith("UsrsManager2/servlet/Login")){
chain.doFilter(request, response);
}else{
HttpSession session=httpServletRequest.getSession();
Users user=(Users)session.getAttribute("loginuser");
if(user!=null){
chain.doFilter(request, response);
}else {
request.setAttribute("err", "please login");
httpServletRequest.getRequestDispatcher("/servlet/LoginServlet").forward(request, response);
}
}
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
下面是web.xml文件:
<filter><filter-name>MyFilter</filter-name><filter-class>com.jwos.filter.MyFilter1</filter-class></filter>
<filter-mapping><filter-name>MyFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>com.jwos.controller.LoginServlet</servlet-class>
</servlet>
报错信息:
java.lang.ClassNotFoundException: com.jwos.filter.MyFilter1
死活无法加载,重启,重新部署都不行
我的filter文件:
package com.jwos.filter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.jwos.model.Users;
public class MyFilter1 extends HttpServlet implements Filter{
/**
* Constructor of the object.
*/
public MyFilter1() {
super();
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
System.out.println("myFilter1*******");
HttpServletRequest httpServletRequest=(HttpServletRequest)request;
String uri=httpServletRequest.getRequestURI();
if(uri.startsWith("/UsersManager2/imgs")||uri.startsWith("UsrsManager2/servlet/Login")){
chain.doFilter(request, response);
}else{
HttpSession session=httpServletRequest.getSession();
Users user=(Users)session.getAttribute("loginuser");
if(user!=null){
chain.doFilter(request, response);
}else {
request.setAttribute("err", "please login");
httpServletRequest.getRequestDispatcher("/servlet/LoginServlet").forward(request, response);
}
}
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
}