您当前的位置: 首页 >  servlet

彭世瑜

暂无认证

  • 0浏览

    0关注

    2791博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

彭世瑜 发布时间:2020-02-15 16:37:17 ,浏览量:0

一、安装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关系图 在这里插入图片描述

图片来源:https://blog.csdn.net/dzy_water/article/details/79704600

在这里插入图片描述

图片来源:https://blog.csdn.net/baidu_36583119/article/details/79642407

配置虚拟目录,将路径指向开发目录 按如下路径,新建一个文件:webapp.xml

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


属性说明:

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

hello

访问路径: 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




    
    
        HelloServlet
        AServlet
    

    
    
        HelloServlet
        /hello
    

访问路径: http://localhost:8080/demo/hello

参考 tomcat 虚拟目录配置

关注
打赏
1665367115
查看更多评论
立即登录/注册

微信扫码登录

0.3921s