简单的Tomcat部署
主要步骤:
1、下载并安装Tomcat。
2、编写一个继承HttpServlet的类。
3、将刚写的类(.java文件)编译成Class文件(.class)。
4、建立Web应用的目录结构,并配置web.xml文件。
5、部署Web应用。
6、启动Tomcat。
7、浏览器访问验证结果。
8、查看Tomcat日志。
1、首先下载安装好Tomcat后里面有几个文件夹,稍微介绍下
/bin:存放 Windows 或 Linux 平台上启动和关闭的脚本文件。
/conf:存放Tomcat的各种全局配置文件,其中最重要的是server.xml。
/lib:存放Tomcat以及所有Web应用都可以访问的JAR文件。
/logs:存放Tomcat执行时产生的日志文件。
/work:存放JSP编译后产生的Class文件。
/webapps:Tomcat的Web应用目录,默认情况下把Web应用放在这个目录下。
注:/wtpwebapps:后期如果使用Eclipse,这个目录是Eclipse默认部署位置
2、编写一个继承HttpServlet的类
javax.servlet包提供了实现Servlet接口的GenericServlet抽象类。这是一个比较方便的类,可以通过扩展它来创建Servlet。但是大多数的Servlet都是在Http环境下处理请求的,因此Servlet规范还提供了HttpServlet来扩展GenricServlet并且加入了Http特性。我们通过继承HttpServlet类来实现自己的Servlet只需要重写两个方法:doGet和doPost。
直接上代码,创建一个MyServlet.java的文件,在里面创建一个MyServlet的类,继承HttpServlet,并重写doGet和doPost请求。
1 import java.io.IOException; 2 import java.io.PrintWriter; 3 4 import javax.servlet.ServletException; 5 import javax.servlet.http.HttpServlet; 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 9 10 public class MyServlet extends HttpServlet { 11 12 @Override 13 protected void doGet(HttpServletRequest request, HttpServletResponse response) 14 throws ServletException, IOException { 15 16 System.out.println("MyServlet 在处理 get()请求..."); 17 PrintWriter out = response.getWriter(); 18 response.setContentType("text/html;charset=utf-8"); 19 out.println("<strong>My Servlet!</strong><br>"); 20 } 21 22 @Override 23 protected void doPost(HttpServletRequest request, HttpServletResponse response) 24 throws ServletException, IOException { 25 26 System.out.println("MyServlet 在处理 post()请求..."); 27 PrintWriter out = response.getWriter(); 28 response.setContentType("text/html;charset=utf-8"); 29 out.println("<strong>My Servlet!</strong><br>"); 30 } 31 32 }
3、将Java文件编译成Class文件
编译前需要先安装JDK,上网查配置环境变量啥的,弄好后,先把Tomcat lib目录下的servlet-api.jar拷贝到MyServlet文件夹,也就是和刚写的java类一个文件夹,因为Servlet接口是在servlet-api.jar里定义的,接下来打开cmd。进入MyServlet文件夹,我的是在E盘下的MyServlet文件夹。
这样就编译好了,MyServlet文件夹下多出来了一个MyServlet.class文件。
4、建立Web应用的目录结构
Servlet是放到一个Web应用里,然后部署到Tomcat的,而Web应用具有一定的目录结构,所以我们按照要求建立Web应用文件夹,名叫MyWebApp,然后在这个目录下建立子文件夹,像下面这样:
1 MyWebApp/WEB-INF/web.xml 2 3 MyWebApp/WEB-INF/classes/MyServlet.class
然后在web.xml中配置Servlet,内容如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 5 http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 6 version="4.0" 7 metadata-complete="true"> 8 9 <description> Servlet Example. </description> 10 <display-name> MyServlet Example </display-name> 11 <request-character-encoding>UTF-8</request-character-encoding> 12 13 <servlet> 14 <servlet-name>myServlet</servlet-name> 15 <servlet-class>MyServlet</servlet-class> 16 </servlet> 17 18 <servlet-mapping> 19 <servlet-name>myServlet</servlet-name> 20 <url-pattern>/myservlet</url-pattern> 21 </servlet-mapping> 22 </web-app>
注意servlet和servlet-mapping这两个标签里的servlet-name要保持一致。
5、部署Web应用
Tomcat应用的部署非常简单,将这个MyWebApp文件夹整个拷贝到Tomcat下的webapps目录即可。
6、启动Tomcat
找到Tomcat目录下的bin目录,根据操作系统的不同,执行相应的启动脚本。如果是Windows系统,执行startup.bat;如果是Linux系统,则启动startup.sh。
7、浏览器访问验证结果
在浏览器里访问这个URL:http://localhost:8080/MyWebApp/myservlet,你会看到:
1 My Servlet!
注意:这个URL中的MyWebApp是Web应用的名字,myservlet是在web.xml里配置的Servlet的路径,即servlet-mapping标签下的url-pattern标签。
8、查看Tomcat日志
打开Tomcat下的logs目录,Tomcat 的日志信息分为两类 :一是运行日志,它主要记录运行过程中的一些信息,尤其是一些异常错误日志信息;二是访问日志,它记录访问的时间、IP地址、访问的路径等相关信息。
catalina.***.log:主要记录的是Tomcat启动过程的信息,在这个文件可以看到启动的JVM参数以及操作系统等日志信息。
catalina.out:这个是Tomcat的标准输出(stdout)和标准错误(stderr),这个是在Tomcat的启动脚本里指定的,如果没有修改的话stdout和stderr会重定向到这里。所以在这个文件可以看到我们在MyServlet.java程序里打印出来的信息:MyServlet在处理get请求...
localhost.**log:主要记录Web应用在初始化过程中遇到的未处理的异常,会被Tomcat捕获而输出这个日志文件。
localhost_access_log.**.txt:存放访问Tomcat的请求日志,包括IP地址以及请求的路径、时间、请求协议以及状态码等信息。
manager.***.log/host-manager.***.log:存放Tomcat自带的Manager项目的日志信息。