Java Tomcat+;弹簧误差404
我知道有人问过类似的问题,但我似乎找不到一个与我的配置相同的问题 我用Maven和spring建立了一个EclipseJavaEE项目。我按照以下教程进行设置: 当我启动项目时,我得到一个错误404 教程没有提到dispatcher-servlet.xml的创建,所以可能这就是问题所在,但我不确定Maven是否需要它 我的配置如下: web.xmlJava Tomcat+;弹簧误差404,java,spring,maven,jakarta-ee,tomcat7,Java,Spring,Maven,Jakarta Ee,Tomcat7,我知道有人问过类似的问题,但我似乎找不到一个与我的配置相同的问题 我用Maven和spring建立了一个EclipseJavaEE项目。我按照以下教程进行设置: 当我启动项目时,我得到一个错误404 教程没有提到dispatcher-servlet.xml的创建,所以可能这就是问题所在,但我不确定Maven是否需要它 我的配置如下: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="h
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>FindLove</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
初始值设定项类
public class Initializer implements WebApplicationInitializer {
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(WebAppConfig.class);
ctx.setServletContext(servletContext);
Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
servlet.addMapping("/");
servlet.setLoadOnStartup(1);
}
}
控制器
@Controller
public class LinkController {
@RequestMapping(value="/hello-page")
public ModelAndView goToHelloPage() {
ModelAndView view = new ModelAndView();
view.setViewName("hello"); //name of the jsp-file in the "page" folder
String str = "MVC Spring is here!";
view.addObject("message", str); //adding of str object as "message" parameter
return view;
}
}
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<h1>Home page</h1>
<p>This is a Home Page.</p>
<p><a href="hello-page.html">Hello world link</a></p>
主页
这是一个主页。
hello.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<p>Hello world: ${message}</p>
<p>Well done!</p>
你好,世界:${message}
干得好
有什么建议吗
提前谢谢我不认为
<p><a href="hello-page.html">Hello world link</a></p>
并调用映射到的@Controller
处理程序方法
servlet.addMapping("/");
@RequestMapping(value="/hello-page")
将您的链接更改为
<p><a href="hello-page">Hello world link</a></p>
理想情况下,你会想把它放到
<p><a href="<c:url value="/hello-page" />">Hello world link</a></p>
因此它与上下文路径相关。不要忘记添加标记库声明。tomcat日志中有错误吗?
<p><a href="hello-page">Hello world link</a></p>
<p><a href="<c:url value="/hello-page" />">Hello world link</a></p>