Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc SpringMVC URL映射_Spring Mvc_Url Mapping - Fatal编程技术网

Spring mvc SpringMVC URL映射

Spring mvc SpringMVC URL映射,spring-mvc,url-mapping,Spring Mvc,Url Mapping,今天,我已经成功地在AmazonEC2上部署了我的TomcatWar。 在我的本地机器上,下面的链接:localhost:8080/login完全正常 但在我的EC2实例中,链接中始终必须有.war名称: 现在,我正在努力在我的Spring MVC项目中添加“/战争名称/”的方式和地点 它是否在水里 web.xml 观点 控制器 使用下面的代码,我可以通过以下链接访问登录: 本地主机:8080/登录 但我希望是这样 localhost:8080/某些战争名称/登录 我尝试将/some wa

今天,我已经成功地在AmazonEC2上部署了我的TomcatWar。 在我的本地机器上,下面的链接:localhost:8080/login完全正常

但在我的EC2实例中,链接中始终必须有.war名称:

现在,我正在努力在我的Spring MVC项目中添加“/战争名称/”的方式和地点

它是否在水里

  • web.xml
  • 观点
  • 控制器
使用下面的代码,我可以通过以下链接访问登录: 本地主机:8080/登录 但我希望是这样 localhost:8080/某些战争名称/登录

我尝试将/some war name/添加到@RequestMapping中,更改了调度程序

My login.jsp:


登录验证
${errorMessage}

贝努特泽名称 密码
My web.xml


待办事项清单
调度员
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/todo-servlet.xml
1.
调度员
/
我的登录控制器

package com.mschm.login;
导入org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.stereotype.Controller;
导入org.springframework.ui.ModelMap;
导入org.springframework.web.bind.annotation.RequestMapping;
导入org.springframework.web.bind.annotation.RequestMethod;
导入org.springframework.web.bind.annotation.RequestParam;
导入org.springframework.web.bind.annotation.SessionAttributes;
导入com.mschm.login.LoginService;
@控制器
@会期贡献(“名称”)
公共类登录控制器{
@自动连线
后勤服务;
@RequestMapping(value=“/login”,method=RequestMethod.GET)
公共字符串showLoginPage(){
返回“登录”;
}
@RequestMapping(value=“/login”,method=RequestMethod.POST)
公共字符串handleLoginRequest(@RequestParam字符串名称,@RequestParam字符串密码,ModelMap模型){
if(!service.validateUser(名称、密码)){
model.put(“错误消息”,“无效凭据”);
返回“登录”;
}否则{
型号。放置(“名称”,名称);
型号。输入(“密码”,密码);
返回“欢迎”;
}
}
}
那个“/战争名称/”

被称为应用程序的
上下文路径

您需要将
tomcat
配置为在您的案例中使用空上下文路径有几种方法可以实现这一点

其中之一是将以下内容添加到
$CATALINA_BASE/conf/server.xml

<Host name="your.host.name" >
   <Context path="" docBase="/path/to/the-war-name.war"/>
</Host>


进一步阅读:

那个“/战争名称/”

被称为应用程序的
上下文路径

您需要将
tomcat
配置为在您的案例中使用空上下文路径有几种方法可以实现这一点

其中之一是将以下内容添加到
$CATALINA_BASE/conf/server.xml

<Host name="your.host.name" >
   <Context path="" docBase="/path/to/the-war-name.war"/>
</Host>


进一步阅读:

欢迎!这让您很困惑,但我认为您希望在本地主机上添加war名称。如果是这样,请将其添加到web.xmlHi中的这一行
/
,好的,我尝试使用我的localhost链接再次解释它,现在使用上面显示的代码,我可以使用“/login”:localhost:8080/login访问我的login.jsp,我必须更改什么,要使用以下url访问链接:localhost:8080/foobar/login如果您将
/
更改为
/foobar
,您应该会得到该链接。遗憾的是,当我这样做时,我得到一个404错误:HTTP Status 404-/foobar/login type Status report message/foobar/login description请求的资源不可用。我是否也必须将目录更改为WEB-INF/views/foobar?欢迎!这让您很困惑,但我认为您希望在本地主机上添加war名称。如果是这样,请将其添加到web.xmlHi中的这一行
/
,好的,我尝试使用我的localhost链接再次解释它,现在使用上面显示的代码,我可以使用“/login”:localhost:8080/login访问我的login.jsp,我必须更改什么,要使用以下url访问链接:localhost:8080/foobar/login如果您将
/
更改为
/foobar
,您应该会得到该链接。遗憾的是,当我这样做时,我得到一个404错误:HTTP Status 404-/foobar/login type Status report message/foobar/login description请求的资源不可用。我是否还必须将目录更改为WEB-INF/views/foobar?