遇到这个问题真的是有点太久了,记得当年还在用tomcat6.0吧。当时我们有一个项目一直运行良好,后来由次代码更新后发现服务成功启动,但项目服务却没办法成功被访问。 然后就开始去摸索排查,网络上也没有这个问题的解决办法。 当时真的是困绕了好久,没办法全部删除掉,然后更换路径等等在重启部署,恢复了。 接着,开始怀疑是不是代码问题,但发现这回将新的代码部署上,没有问题,服务全部正常。又折腾了一下,包括服务器的病毒查杀等。 就这样过了好久一段时间,记得当时tomcat7刚出来稳定版本,然后我们开始又新的项目可以用tomcat7了。并且在tomcat7上也进行多项目的配置 可参考《tomcat[……]
tomcat在项目更新后可以成功启动,但访问服务却报404错误的问题
玩转Tomcat服务配置
题目有点大(mei jue de ←_← !! ) 现在好像都是这种夸张的题目来吸引人(jie kou) ,但最少这个题目符合国家法规没有情色标题(che du zi)。。。
针对《tomcat多主机多实例,以及无法加载项目的处理》这个文章内容在做些补充,有些类似,有关联又无关联。
一种情况
是你不想在项目文件下在创建个ROOT(是挺麻烦的),然后把项目资源放到里面(也就是里面nginx配置时写的路径,记得是有ROOT的吧)比如你还是想用nginx代理它,那就需要你改两个地方。一个是tomcat的server.xml文件
在host标签下添加 <Context[……]
tomcat多主机多实例,以及无法加载项目的处理
文章有些地方可能介绍的不一样,因为我直接本地用nginx做了一个代理。属于本人留存!
还有就是这个已经写了好久了,断断续续修修改改,尽管我已经检查了但可能发到博客上的这份有些位置还是难免忘记解释什么。我及时修正。
当时我遇到一个无法查找到原因的难题,是关于tomcat在运行时被rm -rf掉了(你懂的)。然后使用备份的配置文件重新部署上,发现tomcat可以起来并且不报任何错误,但项目全部都不会被tomcat加载。这个问题困扰了我一天一夜,奋战到早上4点多,测试了无数方法,估计搞出无数的状况,也进行了无数次配置调试。问题原因依然没解决。 针对这个问题的解决办法是:把项目重新部署一[……]
Tomcat EL表达式的错误
出错服务一直没有动过,最近添加了几个服务到tomcat下,没想到影响到之前的。 访问直接拋异常,500错误
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
Dec 10, 2014 10:06:51 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [An exception occurred processing JSP page /userLogins.jsp at line 116 113: <a href="#" onclick="createCode()">???????</a> 114: </div> 115: <div class="YZM"> 116: <span id="ErrorLabel" style="color:Red;" align="center">${message}</span> 117: </div> 118: 119: <div align="center" style="padding:0px 20px;"> Stacktrace:] with root cause java.lang.ClassCastException: org.apache.jasper.runtime.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1023) at org.apache.jsp.login.userLogins_jsp._jspService(userLogins_jsp.java:192) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) |
原因:
EL表达式的错误
解决办法:
编辑tomcat/conf/context.xml文件,在<Context>标记下添加<Loader delegate="true" />
1 2 3 4 5 |
<Context> <Loader delegate="true" /> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> </Context> |
参考:
EL表达式错误:http://zhidao.baidu.com/link?url=tRfNLBCEO0AlBnzj3Whv[……]
Nginx代理非80端口
Nginx通过80端口反向代理到Tomcat实现很简单,通过Jsp的request.getServerPort()获取到的端口号依然是80,而如果Nginx使用非80端口做反响代理时request.getServerPort()获取到的端口号返回依然会是80,这样边无法正确response.sendRedirect
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+r[……]
subversion的web客户端svnwebclient的搭建配置
PS:提供更加利于其他人使用的想法,这是我一直在做的
所需软件:
svnwebclient、tomcat、jdk(如果你下载源码tomcat,需要在在安装ant来构建一下)
svnwebclient下载(可能需要输入帐号密码):
1 |
wget http://community.polarion.com/projects/svnwebclient/download/svnwebclient-3.1.0.zip |
tomcat下载:
1 |
wget http://labs.renren.com/apache-mirror/tomcat/tomcat-7/v7.0.29/bin/apache-tomcat-7.0.29.tar.gz |
jdk下载安装,请参考:
//kinggoo.com/sys-linux-jdk-install.htm
注:因为我自己已经采用ldap来管理帐号,所以这里没有写单独[……]
最新评语