tomcat部署web项目(只是记录,解决办法网上很多)

起因:很早之前写了一个仿Spring的精简web后端,一直是在window上运行的,后来把它放在linux上就出现了一些问题。

问题一:将war包放在tomcat/webapps下后一开始输入连接。如xxx:8080/test/Login/login是可以的,但是一旦跳转就出现找不到界面了。

解决:

在jsp界面中添加一句:

<%@ page isELIgnored="false"%>

这个是表示jsp将字符串中的特殊字符串,isELIgnored="true"表示不解析。
并且在form里的action里这么填写:

<form action="${pageContext.request.contextPath}/Context/sigleContext" method="post" enctype="application/x-www-form-urlencoded" style="float:right;padding:10px">

${pageContext.request.contextPath}

就是获取contex的路径也就是你具体应用的路径,这个其实就是webapps下的你应用的文件夹名。如果换一种什么名方式即在server.xml中声明会更好理解这个,如:

<Context path="/test" docBase="/home/xxxx/xxx/test/test/" reloadable="true" crossContext="true"/>

这个test就是contestPath。
通过这样就可以实现跳转了。
从菏泽一方面也加深了理解即tomcat的四个容器engine、host、context、wrap,这里感触最深的就是context了,因为他直接就是关注了应用。

问题二:判断当前系统是什么类别,这个很重要,因为不同的系统的路径不一样

答:
我的在window下路径使用的是\,但是在linux下就变成了/。

/**
  * 判断当前的系统是window还是linux
  * @return 如果是window则返回true,否则返回false
  */
 private boolean windowOrLinux(){
     String osName = System.getProperties().getProperty("os.name");
     if (osName.equals("Linux")) {
         return false;
     } else {
         return true;
     }
 }

通过此方法来判断是使用\还是/。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值