Mac配置Tomcat及Servlet虚拟目录设置

简介: Mac配置Tomcat及Servlet虚拟目录设置

一、安装Tomcat

1、下载解压

http://tomcat.apache.org/

清华下载源:apache-tomcat-7.0.100.tar.gz

2、配置环境变量

$ cat ~/.bash_profile
# tomcat
export CATALINA_HOME="具体的路径"
export PATH="$CATALINA_HOME/bin":$PATH

3、启动停止

$ startup.sh
$ shutdown.sh

访问测试:

http://localhost:8080/

参考

Servlet 环境设置二、配置虚拟目录

网上看到的Tomcat和Servlet关系图


二、配置虚拟目录

网上看到的Tomcat和Servlet关系图

image.png

image.png

配置虚拟目录,将路径指向开发目录

按如下路径,新建一个文件:webapp.xml


$cat tomcat/conf/Catalina/localhost/webapp.xml


<Context  path="/demo" docBase="/root/webapp" crossContext="true" debug="3" privileged="true"  reloadable="true" deb


属性说明:

crossContext    在应用内返回在该虚拟主机上运行的其他web application的request dispatcher
docBase         文档基准目录,可以使用绝对路径,也可以使用相对于context所属的Host的appBase路径。
override        如果想利用该Context元素中的设置覆盖DefaultContext中相应的设置
privileged      允许context使用container servlets,比如manager servlet。
path            web应用的context路径
reloadable      自动重载web 
debug           调试模式

目录结构如下

webapp
    ├── WEB-INF
    │   ├── classes
    │   │   ├── AServlet.class
    │   └── web.xml
    └── hello.html

1、先确保能够访问静态文件,说明虚拟目录配置成功

hello.html


<h1>hello</h1>


访问路径:

http://localhost:8080/demo/hello.html


2、不管*.java文件在哪里,需要指定*.class生路径为:

webapp/WEB-INF/classes


文件内容如下:

AServlet.java

import javax.servlet.*;
import java.io.IOException;
public class AServlet implements Servlet{
    // 创建时执行
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init");
    }
    // 获取配置信息
    @Override
    public ServletConfig getServletConfig() {
        System.out.println("getServletConfig");
        return null;
    }
    // 处理请求
    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("service");
        servletResponse.getWriter().write("Hello");
    }
    // 获取servlet信息
    @Override
    public String getServletInfo() {
        System.out.println("getServletInfo");
        return null;
    }
    // 销毁前调用
    @Override
    public void destroy() {
        System.out.println("destroy");
    }
}

配置url和servlet映射关系

web.xml

<?xml version="1.0" encoding="utf-8" ?>
<web-app>
    <!-- 注册 Servlet,帮助web服务器反射该类 -->
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>AServlet</servlet-class>
    </servlet>
    <!-- 映射 Servlet 资源,用url-pattern元素标示 URL -->
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>
相关文章
|
1月前
|
Linux
【Linux 或Mac系统】自动生成项目结构目录并放在README.md文件中
如何在Linux或Mac系统中使用tree命令自动生成项目结构目录,并将其格式化后放入项目的README.md文件中以展示项目结构。
63 1
|
24天前
Mac Parallels (PD) 常规设置
Mac Parallels (PD) 常规设置
23 0
|
27天前
|
Java
Mac 设置 JAVA_HOME
Mac 设置 JAVA_HOME
24 0
|
3月前
|
XML 数据格式
XML配置Servlet文件,不使用注解配置路径的方法
XML配置Servlet文件,不使用注解配置路径的方法
|
2月前
MAC下快速打开指定目录
MAC下快速打开指定目录
356 0
|
3月前
|
Java 应用服务中间件 Maven
|
3月前
|
前端开发 应用服务中间件
|
3月前
|
应用服务中间件
Servlet urlPattern配置,和不要在Servlet中配置任何匹配的原因
Servlet urlPattern配置,和不要在Servlet中配置任何匹配的原因
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
|
4月前
|
JSON Java 应用服务中间件