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之 ...
随机推荐
- Android 线程池的类型、区别以及为何要用线程池
每个 Android 应用进程在创建时,会同时创建一个线程,我们称之为主线程,负责更新 UI 界面以及和处理用户之间的交互,因此,在 Android 中,我们又称之为 UI 线程.一个进程中 UI 线 ...
- 2 模拟登录_Post表单方式(针对chinaunix有效,针对csdn失效,并说明原因)
参考精通Python网络爬虫实战 首先,针对chinaunix import urllib.request #原书作者提供的测试url url="http://bbs.chinaunix.n ...
- 阅读《大道至简第一章》读后感 (java 伪代码)
通读大道至简第一章愚公移山,可以将其看做一个完整的工程,首先是创建工程的原因,需求:“惩山北之塞,出入之迂”,而后是团队之间的商议:“聚室而谋曰”,然后确定工程的目标:“毕力平险,指通豫南, ...
- 古老的CSS同高列问题
今日在网页设计时,遇到了希望页面的几列同高需求的实现问题,搜罗了一下google,找到以下文章,感觉不错,翻译过来,同时作为学习加深印象. https://css-tricks.com/fluid-w ...
- Python 爬虫练习项目——异步加载爬取
项目代码 from bs4 import BeautifulSoup import requests url_prefix = 'https://knewone.com/discover?page=' ...
- July 27th 2017 Week 30th Thursday
A smile is the most charming part of a person forever. 微笑永远是一个人身上最好看的东西. Smile in the mirror, and yo ...
- codeforces 549F Yura and Developers(分治、启发式合并)
codeforces 549F Yura and Developers 题意 给定一个数组,问有多少区间满足:去掉最大值之后,和是k的倍数. 题解 分治,对于一个区间,找出最大值之后,分成两个区间. ...
- 用ABAP代码读取S/4HANA生产订单工序明细
在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...
- 6、Python文件操作工具 openpyxl 工具
#-*- coding:utf-8 -* from openpyxl.reader.excel import load_workbook import MySQLdb import time ...
- ES6重点--笔记(转)
最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...