我有一个Spring控制器,其中有几个用于不同URI的RequestMapping。我的servlet是“UI”。servlet的基本URI只使用尾随斜杠。我希望我的用户不必输入尾随斜杠。
此URI的工作方式是:
http://localhost/myapp/ui/
http://localhost/myapp/ui
<servlet>
<servlet-name>ui</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ui</servlet-name>
<url-pattern>/ui/*</url-pattern>
</servlet-mapping>
@Controller
public class UiRootController {
@RequestMapping(value={"","/"})
public ModelAndView mainPage() {
DataModel model = initModel();
model.setView("intro");
return new ModelAndView("main", "model", model);
}
@RequestMapping(value={"/other"})
public ModelAndView otherPage() {
DataModel model = initModel();
model.setView("otherPage");
return new ModelAndView("other", "model", model);
}
}
使用Springboot,我的应用程序可以通过将@RequestMapping的“value”选项设置为空字符串来回复带有和不带有尾随斜杠的内容:
@RestController
@RequestMapping("/some")
public class SomeController {
// value = "/" (default) ,
// would limit valid url to that with trailing slash.
@RequestMapping(value = "", method = RequestMethod.GET)
public Collection<Student> getAllStudents() {
String msg = "getting all Students";
out.println(msg);
return StudentService.getAllStudents();
}
}
是否可以通过URL的trailing关键字映射spring mvc控制器。例如,假设我有以下URL: 我想有3个控制器方法。第1个url应由控制器“X”处理,第2个url应由方法“Y”处理,第3、4个url应由单个方法“Z”处理。这意味着任何以结尾的url都应仅由方法“z”处理。无论该URL的主要内容是什么。
我一直在尝试使用: 使用此链接: 但我有一个错误: 当我换成: 是工作。我能做些什么来和日期一起工作? 谢啦
问题内容: Spring MVC(3.0)将带斜杠和不带斜杠的URL视为同一URL。 我需要在应用程序内部进行此操作(以免通过Apache重写规则等)。 一种方法是: 但这通常有两个问题: 太多的控制器 参数问题:编码错误 题 有没有一种方法可以截获所有URL,并且如果它们带有斜杠,可以将它们重定向到相对的地址而不用斜杠? 问题答案: Web配置中所需的所有重写规则 如果没有很多,你可以像这样配置
我要做的是,当用户访问时,应该将他们代理到运行在端口80上的apache。 当我访问时,我会得到正确的结果(index.php)。当我访问时,我会得到正确的结果(404来自apache)。当我访问时,我会得到正确的结果(404来自nginx)。当我访问时,我会得到正确的结果(404来自apache)。 问题是当我访问时。我得到一个301响应,并被重定向到(注意后面的斜杠,当然还有'localhos
后续问题。有这样的等级制度。其中A是基类: 以及以下内容: 我想将B实例的所有ID映射到B.isVisible()的值,并将C实例的ID映射到TRUE 在最初问题的帮助下,我将其提炼为以下格式: 丑陋的版本是: 有没有帮助改进它,为更优雅的版本提供默认true?
这个问题不难,我已经用自己的方法解决了,但我想听听你的意见,也许有什么方法可以让这成为一个改进的选择?Java 8-11。