当我们输入www.xxxx.com,可直接访问到xxx网站的首页,这个又是如何实现的呢?
众所周知,直接访问域名或者某个IP时,如果不配置默认工程,是只显示tomcat界面。下面讲解直接访问域名或IP时,如何访问到默认工程
1.开发环境:springMVC+tomcat
2.下面正式开始配置,主要分为以下几个步骤
1)配置tomcat默认工程,配置tomcat/conf/server.xml文件(记得把默认端口号改成80,linux中可能会设置失败,可执行命令:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080, 大致意思也就是在Linux下降80端口映射至8080, 达到我们直接输入域名而不带端口号的目的.)
下面贴出server.xml中host部分代码,一个tomcat中有2个工程,一个默认,一个需加工程名,reloadable设置为ture,则内容更新时,会自动重新加载部署
<Host name="localhost" appBase="" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="webapps/nengxin" debug="0" reloadable="false"/>
<Context path="/nengxintest" docBase="webapps/nengxintest" debug="0" reloadable="false"/>
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
2)配置工程的默认执行方法。
- 配置web.xml,设置welcome-file为空,默认是调转到某个视图,为空时,启动工程时,会自动执行默认方法
<welcome-file-list> <welcome-file></welcome-file> </welcome-file-list>
- 定义一个controller,定义一个默认方法
@Controller @RequestMapping(value = "") public class LoginController extends BaseController{ @RequestMapping("/") public String showLoginForm(String pwd) { //② 表单展示 return "login"; } }