前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java知识:(3)Tomcat

Java知识:(3)Tomcat

作者头像
py3study
发布2020-01-08 16:45:55
5790
发布2020-01-08 16:45:55
举报
文章被收录于专栏:python3

1、Tomcat下载和安装

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
wKiom1c3eXPBfntjAAJMTeqy-cg789.png

2、Tomcat软件使用的常见问题

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行位置

代码语言:javascript
复制
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

2.3、CATALINA环境变量问题

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

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

3、Tomcat的目录结构

3.1、Tomcat根目录

wKioL1c3epyzBtRZAABzkjZBbJY435.png
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
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、用Tomcat发布资源

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

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

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

4.2、发布静态资源

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

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

代码语言:javascript
复制
<!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

代码语言:javascript
复制
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。

代码语言:javascript
复制
<?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

5、MyEclipse

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Tomcat下载和安装
    • 1.1、下载地址
      • 1.2、版本
        • 1.3、运行和关闭tomcat
        • 2、Tomcat软件使用的常见问题
          • 2.1、闪退问题
            • 2.2、端口占用的错误
              • 2.3、CATALINA环境变量问题
              • 3、Tomcat的目录结构
                • 3.1、Tomcat根目录
                  • 3.2、Web应用的目录结构
                  • 4、用Tomcat发布资源
                    • 4.1、静态资源和动态资源的区别
                      • 4.2、发布静态资源
                        • 4.3、发布动态资源
                        • 5、MyEclipse
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档