Мой контроллер возвращает ModelAndView, но не загружает jsp

Я изучаю спокойный API. В этом проекте я хочу войти в систему, используя Restful API. Итак, я сделал два проекта. Один из них - Spring MVC. Он просто показывает веб-страницу. Другой - это спокойный API. И это работало хорошо, но когда я вызываю веб-страницу, это не работает.

Я нашел несколько решений, но они не для меня. Тот проверяет import org.springframework.web.servlet.ModelAndView. Я уже использовал его. Другой использовал String в качестве возвращаемого типа в контроллере вместо ModelAndView.

Это мой контроллер.

@Controller
public class LoginController {
    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public ModelAndView displayLogin(HttpServletRequest request, HttpServletResponse response) {
        ModelAndView model = new ModelAndView("login");
        return model;
    }

    @RequestMapping(value = "/welcome", method = RequestMethod.GET)
    public String displayWelcom(HttpServletRequest request, HttpServletResponse response) {
        ModelAndView model = new ModelAndView("welcome");
        System.out.println("Welcome model");
        return "welcome";
    }
}

И это мой javascript для перехода на другую страницу (добро пожаловать).

function validateForm() {
        var xmlhttp = new XMLHttpRequest();
        var url = "http://localhost:8080/users/www.t3q.com";
        //      + window.location.hostname;
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == XMLHttpRequest.DONE && xmlhttp.status == 200) {
                alert('1');
                var json = JSON.parse(xmlhttp.responseText);
//              if (json.isSuccess == 'true')
//              {
                    var xmlhttp2 = new XMLHttpRequest();
                    xmlhttp2.open("GET", "http://localhost:8081/SpringMVCloginExample/welcome", true);
                    xmlhttp2.send();
//              } else {
//                  alert(json.reason);
//              }
                console.info(xmlhttp.responseText);
            }
        };

        xmlhttp.open("POST", url, true);

        xmlhttp.setRequestHeader("Content-Type",
                "application/json;charset=UTF-8");

        var userData = JSON.stringify($("#loginForm").serializeObject());

        console.info(userData);
        xmlhttp.send(userData);
    }

И это моя весенняя веб-настройка XML.

<beans xmlns = "http://www.springframework.org/schema/beans"
    xmlns:context = "http://www.springframework.org/schema/context"
    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc = "http://www.springframework.org/schema/mvc"
    xsi:schemaLocation = "
   http://www.springframework.org/schema/beans
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context
   http://www.springframework.org/schema/context/spring-context-3.0.xsd
   http://www.springframework.org/schema/mvc
   http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

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

<!--    <mvc:annotation-driven /> -->

    <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name = "prefix" value = "/jsp/" />
      <property name = "suffix" value = ".jsp" />
   </bean>

</beans>

А это web.xml.

<?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_2_5.xsd"
    id = "WebApp_ID" version = "2.5">
    <display-name>SpringMVCloginExample</display-name>


    <servlet>
        <servlet-name>springLoginApplication</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath://resource//springWeb.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>springLoginApplication</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

На самом деле, я уже использовал <mvc:annotation-driven />. Как я могу решить эту проблему? Помоги мне, пожалуйста.


Дополнительно 1. Это мой исследователь проекта.

Мой контроллер возвращает ModelAndView, но не загружает jsp


Ответ (измененный)

var f = document.createElement("form");
f.setAttribute('method',"post");
f.setAttribute('action',"localhost:8080/welcome");
$(document.body).append(f);
f.submit();
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
273
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
var f = document.createElement("form");
f.setAttribute('method',"post");
f.setAttribute('action',"localhost:8080/welcome");
$(document.body).append(f);
f.submit();

Я добавил свой проводник проекта в пост. И это хорошо работает, когда я получаю доступ к веб-странице, используя URL-адрес в браузере.

Rect 30.05.2019 02:04

Вы пытаетесь открыть страницу через вызов ajax? В таком случае этого не произойдет. Это что-то вроде вызова ajax, ожидающего ответа от сервера (что отличается от отправки формы).

Akash 30.05.2019 06:27

А... спасибо. Я понимаю. Затем, чтобы перейти на страницу приветствия, что мне делать?

Rect 30.05.2019 06:52

Вы можете создать форму в своем JS-коде, отправить эту форму через JS, а затем контроллер откроет вам JSP. что-то вроде этого var f = document.createElement("form"); f.setAttribute('метод',"сообщение"); f.setAttribute('действие',"localhost:8080/добро пожаловать"); е.отправить()

Akash 30.05.2019 07:00

Ух ты! Спасибо большое. Когда я его использую, он работает хорошо! Но я добавил следующий код: var f = document.createElement("form"); f.setAttribute('метод',"сообщение"); f.setAttribute('действие',"localhost:8080/добро пожаловать"); $(документ.тело).append(f); е.отправить();

Rect 30.05.2019 07:45

Другие вопросы по теме