Eclipse部署Web项目,常用操作和常见错误的解决方案
部署Web项目到tomcat
在eclipse中找到Servers项,打开服务器(F3)(建议直接删除服务器,重新建立再设置比较好)
1、Servers Locations 中选择Use Tomcat installation
2、Deploy path 改成 webapps
这时候在eclipse上直接运行项目,就会自动部署到tomcat上,通过浏览器或者eclipse都可以访问该项目。
Tomcat控制台的用户角色配置
在Tomcat的Mapper App中,默认没有提供控制台角色。所以需要自己去添加。
1、找到tomcat目录,进入conf目录,打开tomcat-users.xml 增加两条语句
<role rolename="manager-gui"/>
<user password="secret" roles="manager-gui" username="tomcat"/>
//其中username 和 password请自定义。
设置后,重启tomcat服务,登录localhost:8080,即可通过Mapper app来管理部署的web项目。
解压版ApacheTomcat无法添加tomcat本地服务的问题。【安装版可忽略】
不开启tomcat本地服务,只能在eclipse中运行web项目,若想通过浏览器访问本地tomcat中webapps的项目,就必须开启tomcat服务。给ApacheTomcat增加一个本地服务,可以让eclipse和本地tomcat同时使用,方便部署。
注意:eclipse中的服务器端口是默认的,在本地tomcat开启服务的情况下,需要修改端口号,防止冲突。
tomcat添加服务解决方案。
首先,保证Java运行环境要配置好,记住JAVA_HOME指向JDK,别指向JRE路径, 不然会出现CATALINA_HOME或Java配置错误。
之后,在环境变量中,新建三个系统变量,全部指向tomcat目录
CATALINA_BASE C:\Program Files\tomcat8
CATALINA_HOME C:\Program Files\tomcat8
TOMCAT_HOME C:\Program Files\tomcat8
这时候再按照常规方式,在控制台中添加tomcat服务就可以成功了,然后可以去服务列表查看是否添加成功。
运行web项目时,常见异常解决【长期更新】
数据库相关
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
分析,出现这种异常的原因是:
Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将 自动断开该connection。这就 是问题的所在,在C3P0 pools中的connections如果空闲超过8小时,mysql将其断开,而C3P0并不知道 该connection已经失效,如果 这时有Client请求connection,C3P0将该失效的Connection提供给Client,将会造成上面的异常。
a)解决的方法有3种:
增加wait_timeout的时间。
减少Connection pools中connection的lifetime。
测试Connection pools中connection的有效性。
b)具体解决方案:
1、换一下JDBC驱动,JDBC3.1.0-alpha及以前版本会出现此问题,下载新的JDBC驱动
2、使用hibernate配置:
使用hibernate:
<property name=”connection.autoReconnect”>true</property> <!–这个是最主要的–>
<property name=”connection.autoReconnectForPools”>true</property>
<property name=”connection.is-connection-validation-required”>true</property>
加入以上property,可解决此问题,如果未使用hibernate等持久化管理框架,可在mysql的url中加入
autoReconnect=true,这样就可以解决。原因很简单。在对数据库操作结束后关闭连接是正确的做法,没什么大问题。
至于出现:No operations allowed after connection closed。这样的问题原因只有一个,你这里和数据库的连接Connection是一个Static的,程序共享这一个 Connection。所以第一次对数 据库操作没问题,当把Connection关闭后,第二次还想操作数据库时Connection肯定不存在了。
如果是直接在DAO层方法中开启连接,执行完后关闭连接,获取的Connection不能是静态的, 还有用一 个对象获取的也是会关闭,因 为使用的都是同一个资源。所以要么单独开启事务,执行完后手动关闭。要么就使用线程池,或者用多个对象获取。
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
tomcat找不到MYSQL JAR包!必须把mysql-connector-java-5.1.7-bin.jar导入到tomcat的lib目录下面! 在java项目中,只需要引入mysql-connector-java-5.1.7-bin.jar就可以运行java项目。 在web项目中,当Class.forName("om.mysql.jdbc.Driver");时myeclipse是不会去查找字符串,不会去查找驱动的。所以只需要把 mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录就可以了。
JSP标签相关
The absolute uri: [http://mytaglib.com] cannot be resolved in either web.xml or the jar files deployed with this application
这个原因是因为taglib编译指令找不到uri对应的tld文件(标签库定义文件),是因为tld文件放错目录了,放在WEB-INF下即可访问。
自定义标签处理类时,无法继承SimpleTagSupport类
这个问题是因为Web项目的Apache Tomcat Library没导入,所以找不到该类。
解决步骤:在Eclipse中,右键点击出问题的Web项目,选择Build Path--->configure Build Path, 点击Add Library--->Server Runtime,选择当前的Tomcat,完成即可。 这时候再看Web项目中,Libraries 已经有Apache Tomcat X.0包了。
Eclipse部署Web项目,常用操作和常见错误的解决方案的更多相关文章
- 【Eclipse】eclipse部署web项目至本地的tomcat但在webapps中找不到
clipse部署web项目至本地的tomcat但在webapps中找不到 1.发现问题 在我的 eclipse 中有个Dynamic Web Project(动态web项目),在本地的 tomcat ...
- eclipse部署web项目至本地的tomcat但在webapps中找不到
一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...
- Eclipse部署Web项目(图文讲解)
讲解是在linux下完成的,但对windows系统,操作也是一样的,不要被吓到了 1.下载Eclipse
- eclipse部署web项目至本地的tomcat但在webapps中找不到问题
一.发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并 ...
- 【转】部署web项目到weblogic上启动错误
启动weblogic报错:java.lang.ClassCastException: com.sun.faces.application.WebappLifecycleListener cannot ...
- Maven Web项目配置Mybatis出现SqlSessionFactory错误的解决方案
一.错误现象 严重: Context initialization failed org.springframework.beans.factory.BeanCreationException: Er ...
- eclipse中部署web项目
因为eclipse是免费的,所以很多企业都会选用eclipse作为开发工作,那么我们就需要熟练使用eclipse部署web项目. 第一步:选择window -> preferences ,选择s ...
- eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)
我的开发环境:eclipse kepler (4.3)+tomcat7.0.42. 在我想看eclipse中web项目jsp文件被tomcat转换成java以后的java源文件的位置,发现正常情况下的 ...
- 【Eclipse】web项目部署新手篇
本文属于新手篇章,记录了Eclipse中部署web项目的步骤 1 . 添加Tomcat服务器 右键项目属性-->Run as-->Run on server弹出以下界面 点击finish之 ...
随机推荐
- SQL SERVER占用CPU过高优化S
https://www.cnblogs.com/yuekong2010/p/6628001.html 然后使用下面语句看一下各项指标是否正常,是否有阻塞,正常情况下搜索结果应该为空. 1 SELECT ...
- ‘ActiveX component can’t create object解决方法
Event Type: WarningEvent Source: Health Service ScriptEvent Category: NoneEvent ID: 1Dat ...
- SP2-0734: unknown command beginning "lsnrctl st..." - rest of line ignored.
SP2-0734: unknown command beginning "lsnrctl st..." - rest of line ignored. Cause(原因):Comm ...
- IPv4地址结构体sockaddr_in详解
sockaddr_in结构体定义 struct sockaddr_in { sa_family_t sin_family; //地址族(Address Family) uint16_t sin_por ...
- IOS Singleton(单例)
Singleton.h // .h #define singleton_interface(class) + (instancetype)shared##class; // .m #define si ...
- 远程登录与文件传输指令——ssh与scp
远程登录指令 ssh ssh 是一个用于登录远程主机并在远程主机上执行命令的程序.ssh 设计的本意在于在一个不确定的网络环境下为两个互不信任的主机提供加密通信功能.在 Linux 桌面版本上,一般内 ...
- The Struts dispatcher cannot be found. This is usually caused by using Struts
对于struts2中的问题: org.apache.jasper.JasperException: The Struts dispatcher cannot be found. This is usu ...
- django创建项目问题解决办法
问题描述: Python编程:从入门到实践第十八章18.1.6 ❶(ll_env)learning_log$ django-admin.py startproject learning_log .❷ ...
- Object-C中对“引用(reference)”的理解
http://blog.csdn.net/csz0102/article/details/25984275 注:以下讨论都是在ARC模式下 我们在iOS开发中最经常碰到的“引用(reference)” ...
- pushlet服务端推送——多播
版权声明:本文为博主牟云飞原创文章.未经博主同意不得转载. https://blog.csdn.net/myfmyfmyfmyf/article/details/36364337 ---------- ...