Запрос , не обработанный диспетчерским сервером «HTTP Status 404 — /Mvcvalid/displayForm.html (запрошенный ресурс недоступен)»

#java #hibernate #validation #spring-mvc #tomcat7

#java #спящий режим #проверка #spring-mvc #tomcat7

Вопрос:

Когда я запускаю свое приложение на сервере Tomcat 7.0 1st, выполняется мой файл index.jsp, и после того, как я нажму LOGIN (href) на LoginPage.jsp, он не будет выполнен.

Я получил следующую ошибку в моем TOMCAT, поскольку запрошенный ресурс недоступен.Я много искал по этому вопросу, но все еще не могу избавиться от этого.

На самом деле пытался проверить мой файл LoginPage.jsp с помощьюjava4sController.java и пользовательские данные.классы Java.

Мой 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/j2ee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_ID" version="2.4">

<welcome-file-list>
   <welcome-file>index.html</welcome-file>
</welcome-file-list>


<servlet>
   <servlet-name>java4s</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
 <servlet-mapping>
   <servlet-name>java4s</servlet-name>
   <url-pattern>/</url-pattern>
</servlet-mapping>

</web-app>
  

index.jsp

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>SRI PREM VALIDATION</title>
</head>
<body>
<font face="verdana" size="2">
   <a href="displayForm.html">Login..</a>
</font>
</body>
</html>
  

java4s-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"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    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.2.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.2.xsd
        http://www.springframework.org/schema/mvc

        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

<context:component-scan base-package="java4s" />

    <mvc:annotation-driven />

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

    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
       <property name="basename" value="props" />
    </bean>

</beans>
  

java4sController.java

 package java4s;

import javax.validation.Valid;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResu<
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class Java4sController {    

        @RequestMapping(value="/displayForm", method=RequestMethod.GET)
        public String helloWorld(ModelMap model) {
        UserDetails ud = new UserDetails();
         ud.setUser("");
         ud.setEmail("");
        model.addAttribute("userDetails",ud);
        return "loginPage"; 
    }


        @RequestMapping("/login")
        public String loginCheck(@Valid UserDetails userDetails, BindingResult result, ModelMap model) {
            if (result.hasErrors()) {
                return "loginPage";
            } else {
                model.addAttribute("lfobj", userDetails);
                return "success";
            }
        }

}
  

UserDetails.java

package java4s; import javax.validation.constraints.Size; import
org.hibernate.validator.constraints.Email; import
org.hibernate.validator.constraints.NotEmpty; import
org.hibernate.validator.constraints.URL; public class UserDetails{

     @NotEmpty
    private String user;

    @NotEmpty
    @Email
    private String email;        

    @NotEmpty(message = "Phone should not be blank.")
    @Size(min = 10,max = 10)
    private String phone;

    @NotEmpty(message = "Enter your blog URL")
    @URL
    private String blog;

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getBlog() {
        return blog;
    }

    public void setBlog(String blog) {
        this.blog = blog;
    }   }
  

моя страница входа в систему.jsp

 <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

<html>
<head>
     <title>Spring3Example</title>
<style>
  .error {
      color: #EF1313;
      font-style: italic;
  }
</style>
</head>
<body>

<form:form action="login.html" commandName="userDetails">
<table>
<tr>
    <td><font face="verdana" size="2px">User</font></td>
    <td>:</td>
    <td>
    <font face="verdana" size="2">
    <form:input path="user" /> <form:errors path="user"></form:errors>
    </font>
    </td>
</tr>
<tr>
    <td><font face="verdana" size="2px">Email</font></td>
    <td>:</td>
    <td>
    <font face="verdana" size="2">
    <form:input path="email" /> <form:errors path="email"></form:errors>
    </font>
    </td>
</tr>
<tr>
    <td><font face="verdana" size="2px">Phone</font></td>
    <td>:</td>
    <td>
    <font face="verdana" size="2">
    <form:input path="phone" /> <form:errors path="phone"></form:errors>
    </font>
    </td>
</tr>
<tr>
    <td><font face="verdana" size="2px">Blog</font></td>
    <td>:</td>
    <td>
    <font face="verdana" size="2">
    <form:input path="blog" /> <form:errors path="blog"></form:errors>
    </font>
    </td>
</tr>
<tr>
    <td>
    <input type="submit" value="Submit" />
    </td>
</tr>
</table>
</form:form>
</body>
</html>
  

Ошибка в моем Tomcat7.0 . .

    HTTP Status 404 - /Mvcvalid/displayForm.htm

--------------------------------------------------------------------------------

type Status report

message /Mvcvalid/displayForm.htm

description The requested resource is not available.


--------------------------------------------------------------------------------

Apache Tomcat/7.0.42
  

Комментарии:

1. в вашем коде нет никакой ошибки. Это работает для меня. Пожалуйста, проверьте развертывание проекта, есть ли какая-либо ошибка в консоли tomcat?

2. да, frnd в другом приложении также tomcat показывает ту же ошибку. .

3. Вы проверили, что ваш проект успешно развернут в tomcat без ошибок?

4. да, проблем с развертыванием нет — @Yagnesh

5. хорошо .. я не нашел никакой другой проблемы. можете ли вы изменить свое сопоставление запросов, displayForm чтобы /displayForm это сработало.

Ответ №1:

Попробуйте удалить UserDetails в качестве аргумента метода

 @RequestMapping(value="displayForm", method=RequestMethod.GET)
    public String helloWorld(UserDetails ud) {
        return "loginPage";            
    }
  

Надеюсь, это решит проблему.

Комментарии:

1. не могу получить u! Тогда как я могу получить значения из пользовательских данных

2. Просто удалите его из метода HelloWorld. Вы не используете его там. Если вы все еще хотите его использовать, Spring должен знать, как внедрить эти пользовательские данные в метод.

3. я удалил его сейчас, но все та же ошибка. Он не переходит на страницу входа в систему @Darshan

4. Есть ли какие-либо проблемы с вызовом «displayform»?

5. добавьте косую черту типа «/displayForm»