昨晚复习JSP相关知识,遇到一些小问题,我也是醉了。。。
1.加入外部tomcat时,对应的jre home应该是java->jdk的路径(jre所在jdk的路径),而不是java->jre
2.出现404错误很久很久。。。发现当在一个web工程上右键new->jsp时,默认会把jsp放在webRoot根路径下(与直接在webRoot下new jsp等价),而浏览器直接通过http://localhost:8080/webDemo/xxx.jsp即可访问,无需通过http://localhost:8080/webDemo/webRoot/xxx.jsp来访问;受相关书籍影响,如果把JSP挪到webRoot外面,与webRoot同级位置,表面上是位于web工程的跟路径下,符合http://localhost:8080/webDemo/xxx.jsp
的访问习惯,但是无论如何都会出现404错误。。。困扰很久(tomcat->work->catalina->localhost下根本没有相应的编译出来的类jsp)。
3.出现端口8080占用:cmd窗口,netstat ->ano | findstr "8080" 查看哪个PID占用了tomcat的8080端口? tasklist查看哪个进程名对应占用端口的PID,kill掉即可,再重启tomcat;
4加入外部tomcat时,必须选上enabled,才会在server窗口出现你所加入的tomcat。。。
5.servelt注解技术:(如servlet 3.x)Servlet3是Java EE6规范的一部分,必须升级到支持此规范的IDE工具和tomcat jdk版本。。。。。
6.tomcat放在eclipse中启动,控制台没有报错,但是在地址栏输入loclahsot:8080却看不到tomcat主页。——解决办法:双击server下的tomcat服务器,在server locations选择中间项:use tomcat installation.
并且控制台还出现如下警告:
StandardServer.await: Invalid command '' received
——解决办法:查看tomcat所使用的jdk版本跟配置的环境变量里jdk的版本是否一致,不一致则改成环境变量里jdk的安装版本,重启成功出现欢迎界面
7.部署项目到tomcat可以通过修改tomcat的conf/server.xml文件。在<Host></Host>下添加以下东西:
<Context path="/demo" docBase="E:\mywork\项目名称\WebRoot" reloadable="true" />
8.搭建spring环境时,需要把一些常用的common包全部导入,否则会启动tomcat失败!
否则会报错:Java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory
注意:并不是打日志才需要这些common-logging包(还有其他common包),spring启动也是需要这些common包的。
9.tomcat启动成功,输入localhost:8080有欢迎界面,但输入localhost:8080/项目名 无法出现欢迎页面,404:
1)首先排查项目名有没有写错
2)没写错再确定tomcat的设置页面(打开方式见情况6)里Server Locations->Deploy path是不是tomcat下的webapps路径(默认不是,是wtswebapps),不是的话修改。修改完之后即可成功访问项目主页面。
10.tomcat的另一种“高级”部署方法(更新于2016/12/5)
搞开发也快3年了。。竟然到现在才发现这种高端的项目部署方式。。
1)首先,在eclipse里面双击tomcat,打开界面;
2)需注意Ports部分可以修改tomcat的一些端口,比如HTTP/1.1可以修改访问端口,而Server Locations一定要选择中间那一项~
2)打开Open launch configuration,切换至source选项卡,点击Add按钮:
可打开Add source界面,然后选择“Java Project”选项,选择相应的项目:
点击“ok”。
3)切换至“Modules”标签页,选择Add External Web Module,选择相应的项目并设置Path,这里的Path将是访问页面时的上下文,再保存界面设置,其中Document base要设置到项目的WEB-INF/classes所在的父目录,这里是WebContent;Auto reloading enabled不勾选:
注:这里的Path默认 是和项目同名的,但是如果你设置了项目的 Web Project Settings里面的Context root,则这里的Path将会显示你设置的Context root(也就是你再输入项目访问路径时的上下文)。但注意,如果你是部署成功以后再修改Context root,然后访问的时候再输入你设置的上下文会报404,意味着对默认Context root的修改必须是在部署之前进行才能成功!
4)之后启动项目即可。在项目比较少的情况下觉得没必要,但是一旦项目多了且需要同时启动,这种做法就比较优雅。
============== 更多的问题亟待发现,所以基础的东西还是很重要的。。。 =============
总结:一般熟悉了框架技术,这种基础的东西再复习会发现诸多问题。虽然不太顺利,但也巩固了jsp编译成类servlet的运行原理,以及tomcat work目录下到底放的是什么。。。。。
相关推荐
【标题】"Tomcat在Linux环境下的部署与运行" 【正文】 Tomcat是一款广泛应用的开源Java Servlet容器,它实现了Java EE中的Web应用服务规范。在Linux环境下部署Tomcat,可以充分利用Linux系统的稳定性和安全性,为...
Apache Tomcat 7 是一个广泛使用的开源软件,用于部署和运行Java Servlets和JavaServer Pages (JSP)。...对于Java Web开发人员来说,理解Tomcat的源代码不仅有助于提升技术水平,还能为解决实际问题提供思路。
Apache Tomcat 7.0.54 是一个广泛使用的开源Java Servlet容器,它实现了Java EE Web应用程序规范。在这个场景中,我们关注的是如何在Tomcat 7集群中配置和使用memcached以及配合Nginx进行负载均衡。Memcached是一种...
配置安装Apache+Apache Tomcat实现tomcat负载均衡教程.doc
Apache Tomcat是一个开源的软件应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)应用程序。它是Java EE Web应用程序的标准实现之一,由Apache软件基金会维护。在本例中,我们讨论的是Apache Tomcat的...
总结来说,使用`tomcat-redis-session-manager`可以在Tomcat 8及以上版本中实现Redis为基础的Session共享,通过引入必要的jar包,并正确配置Tomcat,可以确保在分布式环境中的用户会话一致性。这种方案在应对高并发...
tomcat7.0.0.91_64位和7.0.0.94_32位解压版、免装版。
5. **temp**:临时文件夹,Tomcat在运行过程中会生成一些临时文件。 6. **webapps**:这是Web应用程序的默认部署目录,任何放入此目录的WAR文件或目录都会被Tomcat自动部署为一个Web应用。 7. **work**:包含JSP...
2、适用人群:计算机,电子信息工程等专业的学习者等, 高分毕业设计项目,也可作为课程设计和期末大作业。本资源仅是代码的压缩包,该代码适合毕业设计、课程设计作业,所有源码均经过严格测试,可以放心下载使用。...
2、适用人群:计算机,电子信息工程等专业的学习者等, 高分毕业设计项目,也可作为课程设计和期末大作业。本资源仅是代码的压缩包,该代码适合毕业设计、课程设计作业,所有源码均经过严格测试,可以放心下载使用。...
同时,对于希望提升Java实战能力的开发者来说,这也是一个不可多得的学习案例。 项目已在IDEA环境下配置好,并经过严格的运行测试,确保在JDK和Tomcat的支持下能够稳定运行。无论是作为毕业设计的成果展示,还是...
此外,Spring Boot的WebSocket支持也可以利用NIO,提供实时通信。 五、实战演练 在"tomcatNIO.zip"项目中,开发者可以深入研究如何配置和使用NIO模式的Tomcat,以及如何与Spring Boot框架进行集成。项目中的代码...
通过内嵌Tomcat服务器,自动配置Spring框架及其他依赖,SpringBoot极大地提高了开发效率,降低了项目部署的复杂性。 协同过滤算法是推荐系统中的核心方法之一,它主要基于用户行为数据,通过分析用户历史行为来预测...
以下是对JDK 1.8中一些关键特性的详细说明: 1. **Lambda表达式**:这是JDK 1.8最具代表性的新特性,它允许开发者以更简洁的方式处理匿名函数。Lambda表达式使得函数式编程风格在Java中变得更加自然,特别是在处理...
Apache Tomcat是Apache软件基金会的一个开源项目,它是Java Servlet和JavaServer Pages的容器,也是Java EE Web应用程序的标准实现。在这个系统中,Tomcat负责接收来自客户端的HTTP请求,调用Java Servlet处理业务...
同样,也需要通过查询退款接口来确认退款状态。 6. **微信回调(支付结果通知API)**:微信支付在处理完用户的支付请求后,会主动向商户服务器推送支付结果通知。开发者需要在SSM框架中设置一个接收回调的接口,...
这四个框架相互之间有紧密的联系:Servlet和JSP是基础,Struts2和Spring提供了更高级的Web应用架构,而Hibernate3则解决了数据持久化问题。在实际开发中,通常会结合使用这些框架,例如,Spring可以整合Struts2和...
【标题】"Tomcat BIO 实现的Web服务器模拟" 【描述】"TomcatBIO.zip包含了一个使用传统阻塞I/O(BIO)模式构建的简单...同时,也能了解到在实际生产环境中,为何大多Web服务器选择使用NIO或AIO来提升性能和处理能力。
<br/>3、 安装Tomcat4.1.24 <br/>(1) 安装软件: 操作方法:一路点击下一步直至安装结束,在选择安装路径时推荐安装在根目录,例如C:\Tomcat 4.1; <br/>(2) 设置环境变量: 操作方法:在我的...
2. **服务器端**: 使用Tomcat作为服务器软件,因其稳定性和良好的性能表现。 3. **数据库**: 采用MySQL作为数据库管理系统,用于存储用户信息、订单数据、积分记录等关键信息。 4. **运营管理**: 设计并实现一套稳定...