Spring Controller не вызывается для ожидаемого URL - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь создать приложение SpringMVC и пытаюсь вызвать контроллер. это дает мне ошибку исключения java.io.FileNotFound. Приложение построено со значением RootContext 'springmvc' и установлено в Websphere 9

URL, вызываемый для контроллера попаданий -

http://localhost:9080/springmvc/logon

и этот URL дает файл notFound для '/ logon.' Но в то же время http://localhost:9080/springmvc/ связывается с контроллером и выдает вывод «Hello World». Я не уверен, почему / вход в систему не распознается.

Я пытался сохранить шаблон URL в файле web.xml как / springmvc / или / springmvc / * но они все не работают. Я также попытался указать полный путь в контроллерах.

Контроллер '' '

 ` @Controller
public class AdminController{

@RequestMapping(value="/logon" , method = RequestMethod.GET)
@ResponseBody
public String config(){
system.out.println("Inside Config Method");
return "Hello World!";
} ` 

'' '

web.xml

`

<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/todo-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/springmvc/*</url-pattern>
</servlet-mapping> ` 

todo-servlet.xml -

` <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    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.xsd
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="springmvc.com.controller" />

    <mvc:annotation-driven />

</beans>` 

Я ожидаю, что http://localhost:9080/springmvc/logon вернет ответ от класса AdminController. Пожалуйста, предложите, что мне не хватает или какой шаблон URL я должен попробовать?

1 Ответ

0 голосов
/ 17 мая 2019

Предполагая, что AdminController находится в пакете springmvc.com.controller. Проблема, которую я вижу, это шаблон URL. В этом случае вход в систему ожидается по пути: http://localhost:9080/springmvc/springmvc/logon

Первый (springmvc) - это контекст приложения, все точки начинаются с него. Второй внутри вашего приложения.

Вам нужно определить / получить ожидаемый результат.

...