部分程序 连接不到 Connection Pool ,何解?
我原先的$CATALINA_HOME/conf/server.xml中设置如下:
<Context path= "/MyPro " docBase= "MyPro "...>
程序一切运转正常.
近来因为需要把程序改成默认站点.我修改了配置为
<Context path= " " docBase= "MyPro "...>
站点运行起来也正常,但是我有个JSP 页面用到 鼠标移动到热点上来 调用Servlet,出现如下错误
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context整个站点仅仅此功能受限,其他运行正常.
在URL直接输入 http://localhost/Servlet名.
也能正确返回值.
在网上找了很多资料,但是没遇见有类似的情况.
请问大家在设置tomcat默认站点的时候有遇见这样的情况吗? 该如何解决呀?
------解决方案--------------------是你连接数据库语句的问题吧
st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
------解决方案--------------------把servlet配置文件url-pattern改动一下。例如:如果是/servlet改成MyPro/servlet,试试。。。。
这里MyPro是你的Context
------解决方案--------------------Context path= " " docBase= "MyPro "...>
这样写后,你的DATASOURCE只能在http://localhost/servlet/下获取到了,
如果你用http://localhost/***/servlet/来访问,就是不同的应用了
不仅限于datasource连session都是如此。
http://localhost/***/servlet/ 和http://localhost/servlet/是不同的应用
解决方法:
1.还改回原来的配置
2.将你所有程序中访问前缀MyPro去掉(搜索一下即可),建议你在common.jsp(被包含文件)中定义一个contextPath 变量,这样访问图片呀,链接呀都加上contextPath就可以了,改的话只需改这一个地方