lemon1 2016-5-25 16:15
Java知识:(3)Tomcat
[b] 1、Tomcat下载和安装[/b]
[b]1.1、下载地址[/b]
apache官网:[url]www.apache.org[/url]
产品的主页:[url]http://jakarta.apache.org[/url]
Tomcat:[url]http://tomcat.apache.org/[/url]
[b] 1.2、版本[/b]
安装版:window (exe、msi) linux(rmp)
压缩版:window(rar,zip) linux(tar,tar.gz)学习时候使用
[b] 1.3、运行和关闭tomcat[/b]
启动软件
a)找到%tomcat%/bin/startup.bat ,双击这个文件
b)弹出窗口,显示信息(不要关闭此窗口)
c)打开浏览器,输出以下地址http://localhost:8080
d)看到一只猫画面,证明软件启动成功!
关闭软件
a)找到%tomcat%/bin/shutdown.bat,双击这个文件即可!
[img]http://img.blog.csdn.net/20160525152532154[/img]
[b] 2、Tomcat软件使用的常见问题[/b]
[b] 2.1、闪退问题[/b]
原因:Tomcat软件是java语言开发的。 Tomcat软件启动时,会默认到系统的环境变量中查找一个名称叫JAVA_HOME的变量。这个变量的作用是找到Tomcat启动所需的JVM。
解决办法; 到环境变量中设置JAVA_HOME的变量 JAVA_HOME= C:\Program Files\Java\jdk1.7.0_51 (注意别配置到bin目录下)
[b] 2.2、端口占用的错误[/b]
原因: tomcat启动所需的端口被其他软件占用了!
解决办法:
a)关闭其他软件程序,释放所需端口
b)修改tomcat软件所需端口。找到并修改%tomcat%/conf/server.xml文件 第69行位置[code]connectionTimeout="20000"
redirectPort="8443" />[/code]2.3、CATALINA环境变量问题
原因: tomcat软件启动后,除了查找JAVA_HOME后,还会再查找一个叫CATALINA_HOME变量,这个变量的作用是设置tomcat的根目录。
解决办法:建议不要设置CATALINA_HOME变量。检查如果有的话,清除掉!!!
[b] 3、Tomcat的目录结构[/b]
[b]
3.1、Tomcat根目录[/b]
[img]http://img.blog.csdn.net/20160525152441685[/img]
|-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运行时产生的临时文件就存放在这里
[b] 3.2、Web应用的目录结构[/b]
Tomcat根目录下webapps文件夹下的每一个子文件夹都是Web应用应用的根目录
[img]http://img.blog.csdn.net/20160525152503929[/img]
|- WebRoot : web应用的根目录
|- 静态资源(html+css+js+image+video)
|- WEB-INF : 固定写法。
|-classes: (可选)固定写法。存放class字节码文件
|-lib: (可选)固定写法。存放jar包文件。
|-web.xml
注意:
1)WEB-INF目录里面的资源不能通过浏览器直接访问
2)如果希望访问到WEB-INF里面的资源,就必须把资源配置到一个叫web.xml的文件中。
4、用Tomcat发布资源
[b] 4.1、静态资源和动态资源的区别[/b]
静态资源: 当用户多次访问这个资源,资源的源代码永远不会改变的资源。
动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变。
[b] 4.2、发布静态资源
[/b]
a)在Tomcat的webapps目录下建立一个myweb文件夹
b)建立一个myTest.html文件,内容如下:[code] <!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>[/code]c)通过http://localhost:8080/myweb/myTest.html进行访问
4.3、发布动态资源
Servlet : 用java语言来编写动态资源的开发技术。
Servlet特点:
1)普通的java类,继承HttpServlet类,覆盖doGet方法
2)Servlet类只能交给tomcat服务器运行!!!!(开发者自己不能运行!!!)
Servlet手动编写步骤:
1)编写一个servlet程序,继承HttpServlet[code]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());
}
}[/code]2)找到HelloServlet类的class字节码,然后把拷贝到tomcat的一个web应用中WEB-INF/classes目录下。
3)在当前web应用下的web.xml文件配置Servlet。[code]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">
HelloServlet
com.rk.web.HelloServlet
HelloServlet
/hello[/code]本文出自柠檬派[url]http://www.lemonpai.com[/url] 请务必保留此出处 ,否则将追究法律责任!