老师,百度了,还是没能解决,如下图

老师,百度了,还是没能解决,如下图

正在回答

登陆购买课程后可参与讨论,去登陆

5回答

建议同学新建一个空的JavaWeb项目,发布到Tomcat9后试一下,看是否可以启动成功;如果可以启动成功,说明Tomcat服务器没有问题,是当前发布的项目配置文件存在问题,此时同学可以把项目结构和配置文件帖一下;如果不可以启动成功,建议重新下载Tomcat后再试下~

祝学习愉快!

  • WindBelll 提问者 #1
    老师,按照你的试了,新建一个项目没有问题,是配置文件的问题,代码如下
    2019-01-01 17:41:50
提问者 WindBelll 2019-01-02 22:24:41
一叶知秋519 2019-01-02 10:37:36

建议同学把Filter中的注解去掉,统一在web.xml中配置,在实际开发中通常情况是不会存在注解和配置文件混用的情况。建议同学把注解改写到web.xml中后再试下~

http://img1.sycdn.imooc.com//climg/5c2c23750001b73505990091.jpg

另外我看同学的目录中的类文件有报错,建议同学把报错解决以后再启动项目~

如果还有问题,可以再次提问,祝学习愉快~

  • 提问者 WindBelll #1
    老师,那在配置文件中改怎么配置过滤指定的多个jsp页面
    2019-01-02 10:58:41
  • 提问者 WindBelll #2
    老师,那个类文件报错是因为原来我以为是tomcat出问题了,所以删除了原来的tomcat8.5,导致了处于没有容器的状态,那我到时把老师您说的那个filter的问题解决了,直接加入到tomcat9那因该不会出现类文件报错的问题了吧???
    2019-01-02 11:04:05
  • 提问者 WindBelll #3
    老师,更改过后,对于过滤器,我两个都采用了注解的方式,还是不行,还是报那个错误,而且我原来可以运行的项目,现在发布到tomcat9中也会报同样的错误,而新建一个空白的javaweb项目,则没有出现这种问题,老师,什么原因???
    2019-01-02 12:33:15
提问者 WindBelll 2019-01-01 17:47:08
提问者 WindBelll 2019-01-01 17:45:15
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>LibraryManageSystem</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>init</servlet-name>
    <servlet-class>com.cl.servlet.InitServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>init</servlet-name>
    <url-pattern>/InitServlet</url-pattern>
  </servlet-mapping>
  <filter>
    <filter-name>encoding</filter-name>
    <filter-class>com.cl.filter.EncodingFilter</filter-class>
    <init-param>
      <param-name>charset</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

//初始化的servlet代码如下
package com.cl.servlet;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import com.cl.domain.User;
/**
 * Servlet implementation class InitServlet
 */
public class InitServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
 public void init(ServletConfig config) throws ServletException {
  // TODO Auto-generated method stub
  List<User> list=new ArrayList<User>();
  this.getServletContext().setAttribute("userMsg", list);
 }
}
//sesssionFilter,不知到是不是这个的原因
package com.cl.filter;
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;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebFilter(urlPatterns= {"server.jsp","addBook.jsp","catgory.jsp","showBooks.jsp","top.jsp"})
public class LoginFilter implements Filter {
 @Override
 public void destroy() {
  // TODO Auto-generated method stub
 }
 @Override
 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
   throws IOException, ServletException {
  System.out.println("<----LoginFilte----->");
  HttpServletRequest hrequest=(HttpServletRequest)request;
  HttpServletResponse hresponse=(HttpServletResponse)response;
  String username=(String)hrequest.getSession().getAttribute("user");
  //String uri=hrequest.getRequestURI(); 
  //System.out.println(uri);
  if(username==null||username=="") {
      hresponse.sendRedirect(hrequest.getContextPath()+"/index.jsp?flag=1");
  }else {
   chain.doFilter(request, response);
   return;
  }
 }
 @Override
 public void init(FilterConfig filterConfig) throws ServletException {
  // TODO Auto-generated method stub
 }
}


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师