zoukankan      html  css  js  c++  java
  • 关于通过ServletContext获取数据出现的http500的错误的解决方案

    1.问题的简述

      我创建了一个两个servlet以及一个jsp页面,假定给两个servlet分别命名(初始化数据servlet)和(数据处理servlet),jsp页面用于传递数据至数据处理servlet进行相应的数据处理。

      ①第一个servlet中创建了一个List集合同时将该集合进行初始化,并且将这个List集合保存到servletcontext对象中

      List<User> List = new ArrayList<User>();
      //将list保存到ServletContext作用域中
      this.getServletContext().setAttribute("List",List);

      ②第二个servlet通过调用第一个servlet中的List集合将从jsp页面接受到的数据进行保存

      List<User> userlist=(List<User>)this.getServletContext().getAttribute("List");

      userlist.add(user);     注明:user为我为jsp的数据创建的数据对象

      this.getServletContext().setAttribute("List", userlist);

     

    然后当我运行服务器的时候就报错了。

    2.问题产生的原因

      我在数据处理servlet的中通过调用初始化servlet中的list集合进行处理,但是当数据处理servlet接收到数据的时候初始化servlet并未执行,也就是说当前初始化servlet中的list集合并不存在,所以当我对list集合进行调用的时候就报了错。

    3.解决方法

      在服务器开始运行的时候就让初始化servlet进行执行,所以我们需要在xml中对该servlet进行说明,让服务器开始执行的时候就首先执行初始化servlet,那我们为该servlet加入一行代码即可。

      

      <servlet>
      <servlet-name>InitServlet</servlet-name>             //对应我之前的初始化servlet
      <servlet-class>com.imooc.servlet.InitServlet</servlet-class>     //servlet对应的路径

      //表示在服务器开始运行的时候执行该servlet
      <load-on-startup>2</load-on-startup>

      </servlet>

    4.说明

      出现该类问题的原因有很多,故本人对于该问题的说明仅供参考。

  • 相关阅读:
    django 关于render的返回数据
    关于 eval 的报错 Uncaught ReferenceError: False is not defined
    Unexpected token o in JSON at position 1 at JSON.parse (<anonymous>) SyntaxError: Unexpected token R in JSON at position 0 at JSON.parse (<anonymous>)
    ajax 异步请求返回只刷新一次页面
    线程
    IO
    IO初步,字节输入流和字节输出流
    File、FileFilter、递归初步
    Map、可变参数、静态导入、Collections、Arrays、集合嵌套
    Collection单列集合中的常用实现类
  • 原文地址:https://www.cnblogs.com/ygxdbmx/p/9479671.html
Copyright © 2011-2022 走看看