Я новичок в весне. Я работал над разделами этого урока , которые охватывают веб-поток. Моя конечная цель - использовать Spring для реализации новых функций в устаревшем веб-приложении сервлета, а затем постепенно заменять существующий код, превращая веб-приложение сервлета в веб-приложение Spring.
Итак, для этого я решил снова пройти часть учебного веб-потока, поменяв имена, чтобы сделать свой собственный первый экран «Привет, мир» с Spring в среде разработки унаследованного приложения с сервлетами.
Моя проблема в том, что когда я помещаю сопоставления сервлетов для Spring в мой web.xml, я получаю 404, пытаясь добраться до моей целевой страницы.
- Я использую WebLogic 9.2
- Я преобразовал дерево каталогов моего веб-приложения, чтобы имитировать макет, который используют веб-приложения Spring
- Я скопировал spring.jar и spring-mvc.jar в мой WEB-INF / lib
Я сделал упрощенную версию своего web.xml, содержащего только один устаревший сервлет (для целевой страницы) и Spring. Он работает с комментариями Spring, но не иначе. Вот мой WEB-INF / web.xml для веб-приложения abc
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>LogIn</servlet-name>
<servlet-class>
com.utilities.LogIn
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LogIn</servlet-name>
<url-pattern>/home</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>abc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>abc</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<!-- Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Это мой WEB-INF / abc-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- the application context definition for the NSD webapp DispatcherServlet -->
<beans name = "/hello.htm" class = "com.somecompany.web.HelloController"/>
</beans>
Вот код для моего элементарного контроллера:
package com.somecompany.web;
import org.springframework.web.servlet.mvc.Controller;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import org.apache.log4j.Logger;
public class HelloController implements Controller {
protected static final Logger logger = Logger.getLogger(HelloController.class);
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
logger.info("Returning view for CBS Search ....");
return new ModelAndView("hello.jsp");
}
}// end class
Опять же, моя проблема не с контроллером или представлением (jsp) ... пока. Прямо сейчас, когда я включаю сопоставления сервлетов Spring в мой web.xml, я не могу попасть на свою целевую страницу, я получаю 404. Когда я дергаю сопоставления сервлетов Spring, эта проблема исчезает.
Я начинающий в Spring, поэтому не знаю, где искать.