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之 ...
随机推荐
- C# 将html文本转化为 文本内容方法TextNoHTML
不记得在哪看过这个,挺实用的 /// <summary> /// 将html文本转化为 文本内容方法TextNoHTML /// </summary> /// <para ...
- <Android 基础(二十四)> EditText
介绍 A text field allows the user to type text into your app. It can be either single line or multi-li ...
- 移动目标在三维GIS中的实现方法
对于基于ArcGIS Runtime的应用程序,其实现方法比较简单,可以直接更新图形的Geometry属性,即可实现位置的移动: private void AddGraphics() { var gl ...
- Storm-Concept
1. Storm集群架构 strom jar all-your-code.jar backtype.storm.MyWordCounterTopology arg1 arg2 这个命 ...
- Maximum Subarray 连续子数组最大和
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- 微信小程序开发9-宿主环境(2)
1.一个小程序页面可以分解成多个部分组成,组件就是小程序页面的基本组成单元.为了让开发者可以快速进行开发,小程序的宿主环境提供了一系列基础组件.组件是在WXML模板文件声明中使用的,WXML的语法和H ...
- prince2的市场使用规模有多大?
PRINCE2的使用和应用非常广泛.在过去的12个月里,超过60,000人参加了PRINCE2基础资格(Foundation)或从业资格(Practitioner)考试.现在每周参加考试的人数超过了2 ...
- try catch 一点小记录
这两天做了新的需求,做完之后 在测试环境下 完美通关.之后部署到了预发布环境,然而怎么尝试都不通过.刚开始看到 预发布的一个配置文件错了.发邮件改了下,但是依然流程跑不通.之后 一步步在测试环境看代码 ...
- 词法分析器Lexer
词法分析 In computer science, lexical analysis, lexing or tokenization is the process of converting a se ...
- aspnetcore 认证相关类简要说明三
今天我们再来了解一个很重要的接口IAuthenticationService的实现类AuthenticationService: public class AuthenticationService ...