Tomcat
什么叫做Javaweb呢?
Java是Java语言,web是网络、网页的代名词,那么两个组合在一起的意思就是一切使用Java语言编写的可以通过浏览器访问的应用程序的总成就叫做Javaweb!
同时Javaweb是基于请求(request)和响应(response)两个服务来开发的!
什么叫做请求呢?
我们一般通过浏览器获取我们想要的东西时,就是通过浏览器向服务器发送请求来获取的。
什么叫做响应呢?
服务器收到浏览器的请求后向浏览器返回的数据这个过程就叫做响应。
那么他们两个之间的关系呢?
请求和响应总是成对出现的。
web资源的分类(这里指的不止包括Java编写的web还有其他编程软件写的web):
静态资源:固定不变的东西
动态资源:jsp页面、servlet程序
常用的服务器有哪些:
tomcat:apache的一个web服务器,免费的轻量级服务器
jboss:是一个遵从 JavaEE 规范的、开放源代码的、纯 Java 的 EJB 服务器,它支持所有的 JavaEE 规范(免费)。
glassfish:由 Oracle 公司开发的一款 JavaWeb 服务器,是一款强健的商业服务器,达到产品级质量(应用很少)。
resin:是 CAUCHO 公司的产品,是一个非常流行的服务器,对 servlet 和 JSP 提供了良好的支持, 性能也比较优良,resin 自身采用 JAVA 语言开发(收费,应用比较多)。
weblogic:是 Oracle 公司的产品,是目前应用最广泛的 Web 服务器,支持 JavaEE 规范, 而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。
tomcat安装目录:
/bin:里面存放可执行的程序
/conf:里面存放的是配置文件
/lib:里面存放的是jar包
/logs:里面存放的是日志信息
/temp:里面存放的是临时数据
/webapps:里面存放的是部署文件
/work:里面存放的是tomcat工作时,jsp运行时产生的servlet源码和session钝化的目录。
tomcat的安装:
下载解压即可
tomcat的启动:
双击tomcat目录里面的bin目录里面的startup.bat即可
tomcat启动成功的信息:
在浏览器地址栏中输入http://localhost:8080即可出现下面界面即可
界面就是tomcat网站的界面
tomcat启动失败的原因:
如果双击之后,黑框闪一下,那么原因就是没有配置Java的环境变量
怎么修改tomcat的端口号:
在tomcat目录下的conf目录下的server.xml里面的
直接修改即可,但是修改完成之后需要重启。
将web部署在tomcat上:
第一个是将项目放在tomcat目录下的webapps里面,在浏览器输入http://IP地址:端口号/工程名/目录下/文件名
第二个是创建配置文件,在tomcat目录下找到conf目录下的Cataline目录下的localhost,在里面创建一个xml的配置文件,内容如下:
访问时在浏览器地址栏输入
比较:手托html文件到浏览器和在浏览器地址栏中输入http:....的区别?
第一个是使用file协议,告诉浏览器直接解析目标路径的文件即可
第二个是使用http协议,客户端发送请求给服务器,服务器根据请求读取想要的文件,然后回传给客户端,客户端得到index.html内容时再解析显示出来。
有工程名就是默认访问index.html,没有就默认访问root工程。
下面我们在idea里面创建一个动态web:
创建完成之后,我们来看这里的目录里面的作用
src:这里存放的是自己编写的Java源代码
web:这里存放的是web资源文件,比如html、css等等
web-inf:这是个手服务器保护的目录。浏览器无法直接读取该目录里面的内容
web.xml:他是为整个动态web工程配置部署的配置文件,里面有servlet程序、filter过滤器、listener监听器、session超时
lib:这里面存放的是第三方库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)