为什么init 方法一直出错,在做一个自动饮料售卖机的程序

img

img

img

img


想知道怎么解决这个问题,调试了很久都不会弄,第一次实训,解决不了这个问题

不是一个类
DrinkMachine 一个是 DrinkMachine1

img

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7458786
  • 你也可以参考下这篇文章:移动端登录按钮使用定位,软键盘弹起时,顶起登录按钮解决方法
  • 除此之外, 这篇博客: 使用过滤器两次初始化问题中的 在启动服务器时我发现我的过滤器init初始化方法执行两次 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述
    创建过滤器的方式有两种:

    1. 通过注解方式进行配置例子
      @WebFilter(filterName ="/LoginFilter",urlPatterns = {"/main.jsp"})
      public class LoginFilter implements Filter {
          public LoginFilter() {
              // TODO Auto-generated constructor stub
          }
      	public void destroy() {
      		// TODO Auto-generated method stub
      	}
      	public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
      		// TODO Auto-generated method stub
      		// place your code here
      
      		// pass the request along the filter chain
      		chain.doFilter(request, response);
      	}
      	public void init(FilterConfig fConfig) throws ServletException {
      		// TODO Auto-generated method stub
      	}
      }
      
    2. 通过web.xml进行配置
      <filter>
           <filter-name>AccessPermissionFilter</filter-name>
           <filter-class>com.ychs.uol.filter.AccessPermissionFilter</filter-class>
      </filter> 
      <filter-mapping>
          <filter-name>AccessPermissionFilter</filter-name>
          <url-pattern>/user/*</url-pattern>
          <url-pattern>/member/*</url-pattern>
          <url-pattern>/publicclass/*</url-pattern>
          <url-pattern>/main.jsp</url-pattern>
          <url-pattern>/index.jsp</url-pattern>
          <url-pattern>/left.html</url-pattern>
      </filter-mapping>
      

    经过查看代码:这是因为在创建Filter过滤器的时候自动添加了注解,然后又在web.xml中配置了一遍,所以导致初始化函数被执行了两次,对应的将其中一个删去即可。

  • 您还可以看一下 任大勇老师的数据分析思维及方法课程中的 归集数据指标,数据指标拆解与确定数据维度小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    由于问题描述过于简略,我无法准确理解您的问题出在哪里。但是根据参考资料推测,出现init()方法出错的情况,可能是由于重复定义init()方法或者配置有误。因此,我提供以下几种可能遇到的问题和相应的解决方案:

    1. 重复定义init()方法导致出错 如果您使用了注解或者web.xml配置方式创建Filter过滤器,在过滤器类中已经定义了init()方法,而且您还在web.xml中配置了一遍,导致初始化函数被执行了两次,可以删除其中一份代码,避免方法重复定义。

    2. 配置有误导致出错 如果您使用了web.xml配置方式创建Filter过滤器,在配置文件中定义了<filter><filter-mapping>标签,但格式不正确或者标签内部属性有误(如filter-class指向的类文件不存在),也会导致初始化方法出错。你可以检查一下web.xml文件的配置是否符合规范,或者尝试使用注解方式来创建Filter过滤器。

    3. 其他错误导致出错 如果以上两种情况都没有解决您的问题,可能是由于其他错误导致初始化方法出错。您可以尝试使用调试工具来排查错误,或者检查一下自己编写的代码是否符合规范和逻辑。如果还没有办法解决,建议在具体错误信息的基础上,进行进一步的问题描述或者提供更多相关代码,方便更加准确的解答。