关于通过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.说明
出现该类问题的原因有很多,故本人对于该问题的说明仅供参考。
关于通过ServletContext获取数据出现的http500的错误的解决方案的更多相关文章
- Thymeleaf+SpringMVC,如何从模板中获取数据
Thymeleaf+SpringMVC,如何从模板中获取数据 在一个典型的SpringMVC应用中,带@Controller注解的类负责准备数据模型Map的数据和选择一个视图进行渲染.这个模型Map对 ...
- Servlet之ServletContext获取web上下文路径、全局参数、和Attribute(域)
1)获取web上下文路径 public void doGet(HttpServletRequest request, HttpServletResponse response) throws Serv ...
- WCF+Restfull服务 提交或获取数据时数据大小限制问题解决方案
近日在使用wcf的restfull架构服务时遭遇到了提交大数据的问题. 大数据包含两种情形: 1)单条数据量过大. 2)提交或获取的数据条数过多. 在测试时发现,默认设置下当单条JSON数据大于30K ...
- python httplib get和post获取数据
httplib 下的 status http请求的状态 200 404 500... reason 返回答复 OK或者 FAULRE read() 读取内容 get方法: #!/usr/bin/e ...
- 从SQLite获取数据完成一个产品信息展示
在ios实际开发当中,我们常常用到Core Data做为数据储存首选.但在处理一些大量复杂的数据值且数据之间相互关联的时候,这就不得不使用关系型数据库来实现.例如一个导航程序,自身应该包含大量的地图自 ...
- MySQL随机获取数据的方法,支持大数据量
最近做项目,需要做一个从mysql数据库中随机取几条数据出来. 总所周知,order by rand 会死人的..因为本人对大数据量方面的只是了解的很少,无解,去找百度老师..搜索结果千篇一律.特发到 ...
- AngularJS SQL 获取数据
使用PHP从MySQL中获取数据: <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- React使用jquery方式动态获取数据
好久没写react了,今天有空写一下来react实现实时请求数据,并刷新数据的小demo. 首先我还是选择了jquery方式中自带的ajax获取数据,首先要引用所需的js包 接下来要写一个自定义的js ...
- vue 中使用 AJAX获取数据的方法
在VUE开发时,数据可以使用jquery和vue-resource来获取数据.在获取数据时,一定需要给一个数据初始值. 看下例: <script type="text/javascri ...
随机推荐
- puppet的使用:依赖关系整理
title: date: 2016-05-08 21:45:33 tags: puppet categories: 技术 puppet中的依赖关系整理. 概述 puppet中的依赖关系大概有如下几个: ...
- Elasticsearch5.3.1 IK分词,同义词/联想搜索设置
[大数据]-Elasticsearch5.3.1 IK分词,同义词/联想搜索设置 原文地址:http://www.cnblogs.com/NextNight/p/6837407.html --题外话 ...
- Git学习系列之Debian或Ubuntu上安装Git详细步骤(图文详解)
前言 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Win ...
- JavaScript -- Form
-----048-Form.html----- <!DOCTYPE html> <html> <head> <meta http-equiv="co ...
- NIO的Buffer&Channel&Selector
java的NIO和AIO Buffer position.limit.capacity 初始化 Buffer 填充 Buffer 提取 Buffer 中的值 mark() & reset() ...
- vi/vim编辑器必知必会
一.我们为什么要学习vim编辑器? Linux的命令行界面下面有非常多的文本编辑器.比如经常听说的就有Emacs.pico.nano.joe与vim等.vim可以看做是vi的高级版.我们为什么一定要学 ...
- 记一次pm2的踩坑
1.问题: 公司采用了自动发布平台,最近突然发现一个问题,上线完成后服务是能正常访问的,但是有一个节点访问的时候每两次中总是有一次404,通过nginx的access日志分析发现第一次正常访问有一次g ...
- PHP7最高性能优化建议
PHP7已经发布了, 作为PHP10年来最大的版本升级, 最大的性能升级, PHP7在多放的测试中都表现出很明显的性能提升, 然而, 为了让它能发挥出最大的性能, 我还是有几件事想提醒下. PHP7 ...
- 基于GoogLeNet的不同花分类微调训练案例
import tensorflow as tf from tensorflow.contrib.slim import nets slim = tf.contrib.slim import numpy ...
- input输入框file类型第二次不触发onchange事件的解决办法,简单有效
在网上看了很多办法,现在将网上大部分说法总结如下: 网上说法: 原因:选择一次后onchange事件没有绑定到input标签上: 解决办法:拷贝一份input标签的副本,每次选择后对原input ...