如何使用servlet对域进行别名?

时间:2011-02-21 19:02:53

标签: java servlets glassfish

我正在寻找创建本地域名mytest.com并指向我的glassfish应用服务器的web.xml

我来自php背景,我在那里编辑我的/ etc / hosts文件并添加 127.0.0.1 mytest.com 进入我的文件,然后创建一个apache虚拟主机,寻找要提供的域

如何在java servlet环境中复制它?如何在my web.xml文件中映射mytest.com?我可以从localhost:8080点击我的servlet就好了。

感谢

2 个答案:

答案 0 :(得分:2)

默认情况下,Glassfish在localhost:8080提供服务。如果您在/ etc / hosts下为mytest.com创建127.0.0.1的别名,则可以使用http://mytest.com:8080/contextRoot

访问您的应用

基本上,你用PHP做的所有事情,除了你这次不需要配置Apache。此外,您可以将Glassfish管理控制台(http:// localhost:4848)的HTTP端口从8080更改为80,以便从http://mytest.com/contextRoot

为您的应用程序提供服务

步骤如下:

  1. 启动Glassfish,然后部署您的网络应用程序,例如myApp.warmyApp爆炸文件夹。

  2. 默认情况下,该应用位于http://127.0.0.1:8080/myApp127.0.0.1的所有别名,例如http://localhost:8080/myApp

  3. 现在,您希望使用myTest.com对其进行别名。转到/etc/hosts添加127.0.0.1的别名,例如
    127.0.0.1 localhost myTest.com

  4. 现在,您可以通过http://myTest.com:8080/myApp

  5. 访问您的应用
  6. 但是,您可能还想进一步平滑事物,转到Glassfish Admin Console (http://localhost:4848) > Configuration > HTTP Service > HTTP Listeners > HTTP Listener 1 > Listener Port将其更改为80。现在,您的申请将在http://myTest.com/myApp

  7. 上提供

答案 1 :(得分:1)

据我所知,这种配置不是Application Server的责任。如果您想从同一个Application Server提供多个域,则需要将代理或Apache放在Application Server之前。

然而,为了进行测试,您应该只需更改/ etc / hosts并使用http://mytest.com:[glassfish-port]/[application context]/path/to/resource/in/app