#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»