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.说明

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

  • 相关阅读:
    centos安装odoo10及安装问题解决
    crontab实现定时任务
    pycharm发布代码
    centos下安装dblib
    windows安装face_recognition并进行人脸对比
    centos安装nginx1.9
    win10安装fast_client
    WIN10搭建python最新环境
    Linux常见命令
    centos安装python3.7
  • 原文地址:https://www.cnblogs.com/ygxdbmx/p/9479671.html
Copyright © 2011-2022 走看看