tomcat的目录结构
tomcat的目录从上至下分为bin、conf、lib、logs、temp、webapps与work。
其功能主要分别是:
目录名 | 全称 | 作用 |
---|---|---|
bin | binary (二进制文件类型的简称) | 用来存放tomcat命令,分为.sh结尾的Linux命令和.bat结尾的Windows命令。JDK和tomcat路径也都可以设置在此处。startup用于启动tomcat,shutdown用于关闭tomcat,catalina用于设置tomcat内存。 |
conf | configuration(配置) | conf目录主要是用来存放tomcat的一些配置文件,例如server.xml可以设置端口号、设置域名IP、默认加载的项目、请求编码,web.xml可以设置tomcat支持的文件类型,context.xml可以用来配置数据源之类的 tomcat-users.xml用来配置管理tomcat的用户与权限,在Catalina目录下可以设置默认加载的项目 。 |
lib | library(图书馆) | 用来存放tomcat运行需要加载的jar包 |
logs | log(日志) | 用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。(清空不会对tomcat运行带来影响)在windows环境中,控制台的输出日志在catalina.xxxx-xx-xx.log文件中,在linux环境中,控制台的输出日志在catalina.out文件中。 |
temp | temp(临时) | 存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响) |
webapps | web applications(网络应用程序) | 用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。 |
work | work(工作) | 用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件,清空work目录,然后重启tomcat,可以达到清除缓存的作用。 |
常用的web目录结构
目录名 | 描述 |
---|---|
Apache Tomcat v8.0 | 指这个项目所依赖的服务器(Tomcat)的目录。 |
Web App Libraries | 是自己导入的项目依赖 jar 包。 |
build | eclipse新建的 Dynamic web project 默认是将类编译在 build 文件夹下。 |
WebContent | 是项目访问的默认路径,也是工程的发布文件夹,发布时会把该文件夹发布到 tomcat 的 webapps 里。 |
META-INF | 存放一些 meta information 相关的文件的这么一个文件夹, 一般来说尽量不要自己手工放置文件到这个文件夹。 |
WEB-INF | WEB-INF 目录是一个专用区域, 容器不能把此目录中的内容提供给用户。这个目录下的文件只供容器使用,里面包含不应该由客户直接下载的资源。 |
WEB-INF/lib | 存放项目所需的类库(jar包) |
WEB-INF/web.xml | 配置相关信息,用于servlet的路径匹配等,以及监听器、过滤器的配置 |
实现servlet的三种方式
1、Servlet-Servlet
––––直接实现java.servlet.Servlet接口
方法 | 对应功能 |
---|---|
public void init(ServletConfig config) | 初始化servlet |
public void service(ServletRequest request,ServletResponse response) | 为传入的请求提供响应 |
public void destroy() | 销毁 |
servlet public ServletConfig getServletConfig() | 返回ServletConfig对象 |
public String getServletInfo() | 返回servlet的有关信息 |
2、Servlet-GenericServlet
–––继承GenericServlet类,重写该类里的 service方法即可
ublic class GenericServletTest extends GenericServlet {
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter pw=response.getWriter();
pw.print("这里是GenericServlet测试程序");
pw.close();
}
}
3、Servlet-HttpServlet
–––继承HttpServlet类,重写doget和dopost方 法来实现。
方法 | 主要功能 |
---|---|
protected void doGet(HttpServletRequest req,HttpServletResponse res) | 处理GET请求 |
protected void doPost(HttpServletRequest req,HttpServletResponse res) | 处理Post请求 |
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/WelcomeServlet")
public class WelcomeServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public WelcomeServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("3.0service的具体实现(doGet...doPost..)...");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}