簡體   English   中英

當我嘗試訪問一些jsp文件時,它給了我錯誤

[英]when I try to access some jsp file then it gives me error

這是我的代碼:

register.jsp

<body>
 <div> 
 <h3>Register</h3> 
 <form:form method="post" action="insert" modelAttribute="user">  
 <table>  
 <tr>  
  <td>User Name :</td>  
  <td><form:input path="uName" /></td>  
 </tr>  
 <tr>  
  <td>Password :</td>  
  <td><form:input path="password" /></td>  
 </tr>  
 <tr>  
  <td> </td>  
  <td><input type="submit" value="Save" /></td>  
 </tr>  
 </table>
 </form:form>
 </div>
 <div>  
 <h3>Login</h3>
 <form:form method="post" action="login" modelAttribute="user">  
 <table>  
 <tr>  
  <td>User Name :</td>  
  <td><form:input path="uName" /></td>  
 </tr>  
 <tr>  
  <td>Password :</td>  
  <td><form:input path="password" /></td>  
 </tr>  
 <tr>  
  <td> </td>  
  <td><input type="submit" value="Submit" /></td>  
 </tr>  
 </table>
 </form:form>
 </div>

 </body>

HomePageController.java

@Controller
public class HomePageController {

@Autowired
UserDaoImpl userDaoImpl;
@RequestMapping("/register")
public ModelAndView registerUser(@ModelAttribute user use){
    return new ModelAndView("register");

}
@RequestMapping("/insert")
public ModelAndView successMessage(@ModelAttribute user use){
    if(use != null){
        userDaoImpl.insertData(use);
    }
    return new ModelAndView("success" ,"name", use.getuName());
}
@RequestMapping("/login")
public ModelAndView getUserList(@ModelAttribute user u){
    List<user> userList = userDaoImpl.getData();
    int len = userList.size();
    for(int i = 0;i<= len ; i++){
        String userr = userList.get(i).getuName();
        if(userr.equals(u.getuName())){
            return new ModelAndView("quiz","name", u.getuName());
        }
    }
    return new ModelAndView("register");
}
@RequestMapping("/userSign")
public ModelAndView getUser(String name){

    List<user> userList = userDaoImpl.getData();
    int len = userList.size();
    for(int i = 0;i<= len ; i++){
        String userr = userList.get(i).getuName();
        if(userr.equals(name)){
            return new ModelAndView("quiz","name", name);
        }
    }
    return new ModelAndView("error","name",name);
 }
}

在登錄表單中,如果我輸入正確的用戶名和密碼,那么它將成功顯示quiz.jsp文件,但是如果我輸入了錯誤的用戶名和密碼,則它必須顯示error.jsp但不會顯示error 404: requested resource not found

spring-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"  
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">  

<!-- telling container to take care of annotations stuff -->  
<context:annotation-config />  
<context:component-scan base-package="com.quiz"></context:component-scan>
<bean id="viewResolver" 
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="user" class="com.quiz.model.user"></bean>
<bean id="userDaoImpl" class="com.quiz.dao.UserDaoImpl"></bean>

<!-- declare datasource bean -->  
<bean id="dataSource"  
class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
<property name="driverClassName" value="com.mysql.jdbc.Driver" />  
<property name="url" value="jdbc:mysql://localhost:3306/quiz" />  
<property name="username" value="root" />  
<property name="password" value="root" />  
</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" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
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>QUIZ</display-name>  
<welcome-file-list>  
<welcome-file>index.jsp</welcome-file>  
</welcome-file-list>  

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

這是錯誤

HTTP Status 500 - Request processing failed; nested exception is 
java.lang.IndexOutOfBoundsException: Index: 9, Size: 9


type Exception report

message Request processing failed; nested exception is 
java.lang.IndexOutOfBoundsException: Index: 9, Size: 9

description The server encountered an internal error that prevented it from 
fulfilling this request.

exception 
org.springframework.web.util.NestedServletException: Request processing 
failed; nested exception is java.lang.IndexOutOfBoundsException: Index: 9,  
Size: 9
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkSer
vlet.java:982)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.jav
a:872)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.ja
va:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


root cause
java.lang.IndexOutOfBoundsException: Index: 9, Size: 9
java.util.ArrayList.rangeCheck(Unknown Source)
java.util.ArrayList.get(Unknown Source)
com.quiz.controller.HomePageController.getUserList(HomePageController.java:3
8)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeH
andlerMethod(HandlerMethodInvoker.java:180)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapte
r.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapte
r.handle(AnnotationMethodHandlerAdapter.java:428)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServl
et.java:963)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServle
t.java:897)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkSer
vlet.java:970)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.jav
a:872)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.ja
va:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)


note The full stack trace of the root cause is available in the Apache 
Tomcat/8.0.29 logs.

同樣,我在quiz.jsp有一個鏈接,如果我單擊該鏈接,則它必須轉到play.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">  
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>play quiz</title>
</head>
<body>
Welcome ${name}
<a href="play.jsp">Play quiz</a>
</body>
</html>

您的for循環中的范圍檢查錯誤。

它們都必須是'<'而不是'<='

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM