【发布时间】:2019-10-12 21:14:20
【问题描述】:
我想从@WebServlet 映射更改为 SpringMVC 映射。为了适应这些事情,我使用 @WebServlet 设置了一个简单的 LoginApplication。
现在我想通过添加 web.xml 和 dispatcher-servlet.xml 来切换到 springMVC
我已将所有必要的依赖项添加到我的构建路径中,包括 commons-logging、jstl、servlet-api、spring-aop、spring-beans、spring-context、spring-core、spring-expression、spring-web 和 spring -webmvc。我将@Controller @RequestMapping("XXXXX") 注释添加到我的控制器中,并将@GetMapping 注释添加到执行重定向和东西的方法中。
我的 web.xml 的一部分:
<servlet>
<servlet-name>sobster</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/sobster-servlet.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>sobster</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我的 sobster-servlet.xml 的一部分:
<context:component-scan base-package="com.sobster" />
<mvc:annotation-driven />
com.sobster 是我的包含控制器的包
控制器的一部分:
@RequestMapping("/")
@Controller
public class StartPageController extends HttpServlet {
private static final long serialVersionUID = 1L;
@GetMapping
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.sendRedirect("login.jsp");
}
}
我希望现在任何请求都能由 web.xml 处理,它会查找 sobster-servlet.xml 以获取控制器。 sobster-servlet.xml 现在检查 com.sobster 中的控制器并执行相应的操作(例如,在收到来自“/”的调用后重定向到 login.jsp)。
但我得到的只是 HTTP 状态 404 – 未找到
感谢任何建议 :-)
【问题讨论】:
-
你是从工作示例开始的吗???映射一开始有用吗???
-
嗨!我从使用@WebServlet 创建的工作应用程序开始。在将库添加到构建路径后,我添加了 web.xml 和 sobster-servlet.xml。映射从未使用 spingMVC 工作
-
StartPageController正在扩展HttpServlet。是这样吗? -
@MyTwoCents 感谢您的提示。我刚刚用确切的名称等完成了你提到的教程——这对我也不起作用。访问该页面后,我得到“HTTP 状态 404”。我可以访问在tomcat上运行的其他项目,但与springMVC无关
标签: java spring-mvc