广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java知识:(3)Tomcat
  • 553
分享到

Java知识:(3)Tomcat

知识JavaTomcat 2023-01-31 04:01:05 553人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

1.1、下载地址apache官网:www.apache.org产品的主页:Http://jakarta.apache.orgTomcat:http://tomcat.apache.org/1.2、版本安装版:window (exe、msi)


1.1、下载地址

apache官网:www.apache.org

产品的主页:Http://jakarta.apache.org

Tomcat:http://tomcat.apache.org/


1.2、版本

安装版:window (exe、msi) linux(rmp)

压缩版:window(rar,zip) linux(tar,tar.gz)学习时候使用


1.3、运行和关闭tomcat

启动软件

a)找到%tomcat%/bin/startup.bat ,双击这个文件

b)弹出窗口,显示信息(不要关闭此窗口)

c)打开浏览器,输出以下地址http://localhost:8080

d)看到一只猫画面,证明软件启动成功!

关闭软件

a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!


wKiom1c3eXPBfntjAAJMTeqy-cg789.png



2.1、闪退问题

原因:Tomcat软件是java语言开发的。 Tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。这个变量的作用是找到Tomcat启动所需的JVM

解决办法; 到环境变量中设置JAVA_HOME的变量 JAVA_HOME= C:\Program Files\Java\jdk1.7.0_51  (注意别配置到bin目录下)


2.2、端口占用的错误

原因: tomcat启动所需的端口被其他软件占用了!

解决办法:

a)关闭其他软件程序,释放所需端口

b)修改tomcat软件所需端口。找到并修改%tomcat%/conf/server.xml文件 第69行位置

    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />


2.3、CATALINA环境变量问题

原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATALINA_HOME变量,这个变量的作用是设置tomcat的根目录。

解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉!!!



3.1、Tomcat根目录

wKioL1c3epyzBtRZAABzkjZBbJY435.png

|-Tomcat根目录

|-bin: 存放tomcat的命令。

catalina.bat 命令:

startup.bat  -> catalina.bat start

shutdown.bat - > catalina.bat stop

|- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。

|-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet,jsp

|-logs:运行过程的日志信息

|-temp: 临时目录

|-WEBapps: tomcat共享目录。需要共享的本地资源放到此目录中。web应用目录。(注意不能以单独的文件进行共享)

|-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里

3.2、Web应用的目录结构

wKiom1c3edmSwm2uAABfzy3TBfw950.png

Tomcat根目录下webapps文件夹下的每一个子文件夹都是Web应用应用的根目录

|- WebRoot :   web应用的根目录

|- 静态资源(html+CSS+js+p_w_picpath+video)

|- WEB-INF : 固定写法。

|-classes: (可选)固定写法。存放class字节码文件

|-lib: (可选)固定写法。存放jar包文件。

|-web.xml

注意:

1)WEB-INF目录里面的资源不能通过浏览器直接访问

2)如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中。



4.1、静态资源和动态资源的区别

静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。

动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。


4.2、发布静态资源

a)在Tomcat的webapps目录下建立一个myweb文件夹

b)建立一个myTest.html文件,内容如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=GBK">
    <title>测试</title>
</head>
<body>
<a href="http://www.baidu.com">百度</a>
<p>这一段测试文本</p>
</body>
</html>

c)通过http://localhost:8080/myweb/myTest.html进行访问


4.3、发布动态资源

Servlet : 用java语言来编写动态资源的开发技术。

Servlet特点:

1)普通的java类,继承httpservlet类,覆盖doGet方法

2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!)

Servlet手动编写步骤:

1)编写一个servlet程序,继承HttpServlet

package com.rk.web;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet
{
	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
		response.setCharacterEncoding("UTF-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		out.write("这是第一个servlet程序。当前时间为:" + new Date());
	}
}

2)找到HelloServlet类的class字节码,然后把拷贝到tomcat的一个web应用中WEB-INF/classes目录下。

3)在当前web应用下的web.xml文件配置Servlet。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	<!-- 配置一个servlet程序 -->
	<servlet>
		<!-- servlet的内部名称 ,可以自定义-->
		<servlet-name>HelloServlet</servlet-name>
		<!-- servlet类名: 包名+简单类名-->
		<servlet-class>com.rk.web.HelloServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<!-- servlet的内部名称,和上面的名称保持一致!!!-->
		<servlet-name>HelloServlet</servlet-name>
		<!-- servlet的访问名称: /名称 -->
		<url-pattern>/hello</url-pattern>
	</servlet-mapping>
</web-app>



4)启动tomcat服务器,运行访问。访问servlet:  http://localhost:8080/myweb/hello




1)创建web project (javaweb工程)

2)在WebRoot下建立静态资源文件

3)在src下建立动态资源文件

3.1 new -> Servlet( servlet的代码生成器)

3.2 写pacakge  -> class名 -> 修改mapping  url

4)关联tomcat服务器

window-> Preferences - > MyEcplise -> servers -> Tomcat 6.x (注意一定要enable)

5)部署web project应用。(拷贝web应用到tomcat的webapps目录下)

6)启动tomcat服务器

7)访问servlet http://localhost:8081/myweb/hello

--结束END--

本文标题: Java知识:(3)Tomcat

本文链接: https://www.lsjlt.com/news/187816.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java知识:(3)Tomcat
    1.1、下载地址apache官网:www.apache.org产品的主页:http://jakarta.apache.orgTomcat:http://tomcat.apache.org/1.2、版本安装版:window (exe、msi)...
    99+
    2023-01-31
    知识 Java Tomcat
  • 初识TomCat之3——TomCat动静
    一、背景介绍在生产环境中tomcat很少直接用于响应客户端请求,即使它可以通过Connector组件接收用户的请求,一般来说常见于server.xml配置文件中Connector连接器的类型有3种:http、SSL和AJP 1.3在生产环境...
    99+
    2023-01-31
    动静 TomCat
  • ADSL知识集合3
    本文来自:[url]http://bbs.51cto.com/thread-4623-1-1.html[/url]  ADSL宽带使用过程中常见的一些问题    ADSL(Asymmetrical Digital Subscriber Lo...
    99+
    2023-01-31
    知识 ADSL
  • Linux基础知识3
     Linux 命令的语法格式COMMAND options arguments 命令可分为:命令、应用程序、脚本文件三类命令按类型分为:内部命令:即集成在系统内核中的命令外部命令:独立的可执行程序,程序名即为命令名区分内部命令或外部命令可使...
    99+
    2023-01-31
    基础知识 Linux
  • mysql基础知识-3
    一、mysql修改用户密码方法:    方法一:mysqladmin -u username -h host -p password 'new_password';    方法二:mysql>set password for 'use...
    99+
    2023-01-31
    基础知识 mysql
  • 必背知识点-3
    问题1、DHCP 的报文的发送方式是什么? 答案:广播   问题2、什么是广播域? 答案:广播的范围。即一个网段,就是一个广播域。     问题3、DHCP的报文是否可以发送到其他的广播域? 答案:不可以。     问题4、DHCP客户端与...
    99+
    2023-01-31
    知识点
  • (3)Powershell基础知识(一)
    上节介绍了Windows自带的Powershell开发工具:命令行行窗体和集成开发环境ISE的启动及一些配置注意事项,具体细节使劲戳Powershell开发工具。这一节介绍Powershell的基础知识,包含以下知识点Powershell的...
    99+
    2023-01-31
    基础知识 Powershell
  • 集群-基础知识3
    纠正:报文进入内核空间后,当到达input链时发现是一个集群服务时,则直接发送到postrouting链,不经过forward链。调度算法:1、静态方法:rr:轮询,即依照次序从所有RS中进行挑选wrr:加权轮询,按照权重在RS中进行轮询s...
    99+
    2023-01-31
    集群 基础知识
  • Linux运维常用知识(3)
    Apache日志统计举例参考:http://loveyan.blog.51cto.com/829079/745164         http://blog.sina.com.cn/s/blog_79bc8e830101m84w.html ...
    99+
    2023-01-31
    常用 知识 Linux
  • ERP知识普及连载(3)
    ERP是在MRPⅡ基础上发展起来的,是一个企业全面的电脑化管理,是一种包含现代前沿管思想方法的软件系统。简单地说,通过应用ERP,可以完成企业的现代化、规范化管理,达到降低库存、降低成本、及时发货的目的,提高企业的应变能力。 &...
    99+
    2023-01-31
    知识 ERP
  • VII Python(3)基础知识(if
    VII Python(3)基础知识(if、while、for、iterator、generator、文件、pickle) 表达式和语句:常用的表达式操作符:算术运算:+,-,*,/,//截断除法,%,**幂运算逻辑运算:x or y,x a...
    99+
    2023-01-31
    基础知识 VII Python
  • 单身男生必备知识3
    搭讪技巧之心理学角度分析按照心理动力学的方法,搭讪时的紧张可以分成两种:开始前的紧张和开始后的紧张——开始前的紧张本质上是让当事者逃避行动,而开始后的紧张其实是让当事者回避责任。就像炎症是身体的自动保护反应,人的不良情绪也是一种防御机制,保...
    99+
    2023-01-31
    单身 男生 知识
  • CSharp基础知识3-循环语句
    第九课: for循环: 1、一到一百的和:  class Program     {         static void Main(string[] args)        ...
    99+
    2023-01-31
    语句 基础知识 CSharp
  • CCIE学习(3)——基础知识回顾
    ●以太网标准 1)10BASE5:粗同轴电缆传输 2)10BASE2:细同轴电缆传输 3)10BASE-T:第一个使用双绞线传输的以太网标准 4)DIX Ethernet Version 2:原始以太...
    99+
    2023-01-31
    基础知识 CCIE
  • python基础知识3(列表和元组)
    # 列表(可变数据类型) ## 列表的定义 列表是打了激素的数组,数组只能存储同种类型的数据,而列表像一个仓库,存储不同类型的数据. l = []l = [1]l = [1,(1,2),"hello",[1,2]]  ## 列表的特性 - ...
    99+
    2023-01-31
    基础知识 列表 python
  • Java IO知识点
    1:file:文件的创建和删除;File file=new File("D:word.txt");绝对路径 File file=new File("word.txt");相对路径 if(!file.exists()) { file.crea...
    99+
    2015-11-04
    java教程 Java
  • Java:泛型知识知多少
    目录定义意义(即为什么要使用泛型)1. 背景2. 问题3. 解决方案作用原理额外说明: List能否转为List?总结定义 可理解为 适配广泛的类型,即参数化类型,可以把类型像方法的...
    99+
    2022-11-12
  • java面试知识点
    Java文件经过JVM编译成字节码文件,即.class文件,将字节码文件在不同的操作系统中运行时,操作系统再将字节码文件编译成机器码文件。这就是Java跨平台首先明确一点,java 的 GC 回收是完全自动的,没有提供相关 api 手动回收...
    99+
    2020-03-24
    java教程 java 面试
  • Java之Spring知识点
    1.AOP的概念是Aspected Oriented Programming 面向方面编程。好处:AOP将程序分解成各个方面或者说关注点。这使得可以模块化,相当横向上分切了。它可以解决OOP和过程化方法不能...
    99+
    2022-10-18
  • 【Java知识点大全】
    文章目录 前言 Java基础知识点 计算机基础问题 深拷贝和浅拷贝 伪共享的概念以及如何避免 网络四元组 TCP协议为什么要设计三次握手? ...
    99+
    2023-08-20
    java redis mysql 微服务 spring
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作