背景介绍

今天研究jsp的内置对象时发现,使用appilication.getInitParameter()从web.xml文件中获取值的时候,死活获取不到,折腾了将近一个小时,后来出现问题的原因却让我感到智商遭到了侮辱。。。。

web.xml的配置信息

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--配置第一个参数:数据驱动名称-->
<context-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</context-param>
<!--数据库的url-->
<context-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/keyan</param-value>
</context-param>
<!--配置第二个参数:用户名-->
<context-param>
<param-name>usr</param-name>
<param-value>root</param-value>
</context-param>
<!--配置第三个参数:密码-->
<context-param>
<param-name>passwd</param-name>
<param-value>root</param-value>
</context-param>
</web-app>

起初我以为是配置信息出现了错误,但是怎么看也不像是出了错误。

jsp文件信息

<%
String driver = application.getInitParameter("driver");
String url = application.getInitParameter("url");
String usr = application.getInitParameter("usr");
String passwd = application.getInitParameter("passwd");
/*注册驱动*/
//driver = "com.mysql.jdbc.Driver";
Class.forName(driver);
//开始链接
Connection connection = DriverManager.getConnection(url,usr,passwd);
//创建查询语句
Statement statement = connection.createStatement();
//sql语句
String sql = "select * from e_person";
//开始执行
ResultSet set = statement.executeQuery(sql);
%>
<table border="1" bgcolor="blue" width="300px">
<%
while(set.next()){ %>
<tr>
<td><%set.getString(1);%></td>
<td><%set.getString(2);%></td>
</tr>
<%
}
%> </table>

再看这里,也是没什么问题的。

最终解决的办法

首先,你要确定你上面两个文件都没有写错,其次,如果你用了JRebel,请重新启动tomcat,而不是使用热部署,我就是被这玩意坑的,太惨了。。。。

问题的原因应该是这样的,虽然JRebel可以在你更新了后台或者前端的文件信息时,能热部署到服务器上,但是貌似这货并没有将web.xml文件重新加载一遍,所以导致了这个问题。

当然了,如果你重启服务器还是出现这个问题,那么就是你的文件写错了。

Good luck for you!

结语

感谢您的阅读,欢迎指正博客中存在的问题,也可以跟我联系,一起进步,一起交流!

微信公众号:进击的程序狗

邮箱:roobtyan@outlook.com

个人博客:https://roobtyan.cn

jsp的appilication.getInitParameter()方法无法获取到值的问题的更多相关文章

  1. JSF页面中使用js函数回调后台bean方法并获取返回值的方法

    由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...

  2. C#.NET为List加入扩展方法:获取唯一值

    public static class ListTools { /// <summary> /// 获取唯一值列表 /// </summary> /// <param n ...

  3. C#枚举扩展方法,获取枚举值的描述值以及获取一个枚举类下面所有的元素

    /// <summary> /// 枚举扩展方法 /// </summary> public static class EnumExtension { private stat ...

  4. java的System.getProperty()方法能够获取的值

    java.version Java 执行时环境版本号 java.vendor Java 执行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装 ...

  5. jsp页面执行java语法,获取的值在页面调用

    首先在页面头引用用到类的包路径 写需要执行的java语法 页面转换引用 <!-- 引用包路径 --> <%@ page language="java" impor ...

  6. java的System.getProperty()方法可以获取的值

    java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor.url Java 供应商的 URL java.home Java 安装目 ...

  7. 在JSP中使用el函数标签获取默认值(男女性别选项)

    http://blog.csdn.net/b10060224/article/details/45771025

  8. asp.net 调用post方法并获取返回值

    /// <summary>        /// http协议 post数据 接受返回结果        /// </summary>        /// <param ...

  9. System.getProperty()方法可以获取的值

    /** 获得当前类的完整路径.最后一句 */ package org.outman.dms.server; import java.net.MalformedURLException; import ...

随机推荐

  1. HihoCoder第十二周:刷油漆

    #1055 : 刷油漆 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho有着一棵灰常好玩的树玩具!这棵树玩具是由N个小球和N-1根木棍拼凑而成,这N个小球 ...

  2. Ubuntu18.04可执行文件运行提示No such file or directory

    参考原文见 https://blog.csdn.net/sun927/article/details/46593129? 最近我也遇到一个类似问题,同一个工具在Ubuntu16.04里面运行是好的,但 ...

  3. Redis 详解 (四) redis的底层数据结构

    目录 1.演示数据类型的实现 2.简单动态字符串 3.链表 4.字典 5.跳跃表 6.整数集合 7.压缩列表 8.总结 上一篇博客我们介绍了 redis的五大数据类型详细用法,但是在 Redis 中, ...

  4. C++编程学习(七) 循环结构

    1.continue:循环体中结束本次循环,直接进入下一次循环. 2.break:循环直接结束. 3.在for语句循环体中执行continue语句,程序会转到“表达式3”继续运行. 4.使用多重循环的 ...

  5. 七十五、SAP中数据库的使用SQL

    一.在SAP中可以使用两张数据库,一直是NativeSQL和OPEN SQL. Native SQL(本地SQL)特点: 1.每种关系型数据库都有其对应的  SQL,是数据库相关的. 2.不同的 SA ...

  6. 六十九、SAP中内表插入的三种方法之三,INSERT的使用,用于指定位置插入

    一.代码如下 二.需要注意的时候,如果内表和工作区同名,这可以用隐式插入,不需要什么工作区INTO到什么表,INDEX为位置,效果图如下:

  7. 留学生如何把控好Essay写作结构

    留学生在国内写过作文,但是对于essay写作到底了解多少呢?大家觉得essay写作太难是语言问题,但是大家要明白,老师对于内容的考察远重于对语言的考察.同学们的essay写作如果能做到言之有理,自圆其 ...

  8. 【学习Koa】原生koa2 静态资源服务器例子

    实现思路 首先读取当前路径下所有的文件和文件夹 当去点击某个列表项时判断其实文件还是文件夹,文件的话直接读取,文件夹则再次利用上一个步骤读取并展示 文件结构 代码 index.js 入口文件 cons ...

  9. sql ,类型转换,日期截取格式

    字符型 转换成整型 CONVERT(int ,字段) 只取年月日格式 CONVERT(varchar(10), ZB.drive_time, 120 ) SELECT CONVERT(VARCHAR, ...

  10. nested exception is com.mongodb.MongoWaitQueueFullException: Too many operations are already waiting for a connection. Max number of operations (maxWaitQueueSize) of 500 has been exceeded.

    application.yml 添加后两行配置,增加连接池数量data: mongodb: host: *** database: *** port: 27017 username: *** pass ...