2017-07-24 125 views
-5

我有Maven.But的NetBeans Spring MVC項目,但出現以下錯誤:HTTP狀態404 - 未找到。我怎樣才能避免這個錯誤? 層次:HTTP狀態404 - 未在Spring MVC 4應用程序中找到

-FinalWebStore 
    -Web Pages 
    -WEB-INF 
      +views 
      web.xml 
      mvc-dispatcher-servlet.xml 
    -Source Packages 
     +com.karans.finalwebstore.controllers 
     +com.karans.finalwebstore.daoimps 
     +com.karans.finalwebstore.daos 
     +com.karans.finalwebstore.models 
    +Dependecies 
... 

這裏是我的文件: web.xml中:

<web-app id="WebApp_ID" version="2.4" 
     xmlns="http://java.sun.com/xml/ns/j2ee" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 

    <display-name>Spring Web MVC Application</display-name> 


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



    <servlet-mapping> 
     <servlet-name>mvc-dispatcher</servlet-name> 
     <url-pattern>*.htm</url-pattern> 
    </servlet-mapping> 

</web-app> 

MVC-調度-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: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.xsd 
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd 
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> 


    <bean name="/login" 
     class="com.karans.finalwebstore.controllers.UserController" /> 


    <bean id="viewResolver" 
      class="org.springframework.web.servlet.view.InternalResourceViewResolver" > 
     <property name="prefix"> 
      <value>/WEB-INF/views/</value> 
     </property> 
     <property name="suffix"> 
      <value>.jsp</value> 
     </property> 
    </bean> 
    <bean id="ds" 
      class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 

     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:3306/webstore" /> 
     <property name="username" value="root" /> 
     <property name="password" value="123456" /> 
    </bean> 


    <bean id="jt" class="org.springframework.jdbc.core.JdbcTemplate"> 
     <property name="dataSource" ref="ds"></property> 
    </bean> 


    <bean id="ProductDAOimpl" class="com.karans.finalwebstore.daoimps.ProductDAOimp"> 

     <property name="template" ref="jt"></property> 
    </bean> 

    <bean id="UserDAOimpl" class="com.karans.finalwebstore.daoimps.UserDAOimp"> 

     <property name="template" ref="jt"></property> 
    </bean> 
    <bean id="CartDAOimpl" class="com.karans.finalwebstore.daoimps.CartDAOimp"> 

     <property name="template" ref="jt"></property> 
    </bean> 
    <bean id="UserController" class="com.karans.finalwebstore.controllers.UserController"> 
     <property name="userdaoimp" ref="UserDAOimpl"></property> 
    </bean> 



</beans> 

UserController.java:

package com.karans.finalwebstore.controllers; 
import com.karans.finalwebstore.daoimps.UserDAOimp; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.stereotype.Controller; 
import org.springframework.ui.Model; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.RequestMethod; 
@Controller 
public class UserController { 
    @Autowired 
    UserDAOimp userdaoimp; 

    public void setUserdaoimp(UserDAOimp userdaoimp) { 
     this.userdaoimp = userdaoimp; 
    } 

    public String login(){ 


     return "login"; 
    } 


} 

login.jsp:

<%-- 
    Document : login 
    Created on : Jul 15, 2017, 2:57:13 PM 
    Author  : raziyeh 
--%> 

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>LOG IN PAGE</title> 
    </head> 
    <body> 
     <h1>Hello World Taze avvaleshe!</h1> 
    </body> 
</html> 

而且我認爲其他文件並不重要。

+0

我的回答沒有解決您的問題?我看到你已經改變了你的代碼。如果還有其他問題,請提出另一個問題。這不是一種方式,你改變你的問題,通過編輯你以前的問題在另一個問題中提出 – sunkuet02

+0

對不起,我不知道這對你很重要。:(:( – ma98

+0

是的)對社區很重要。 StackOverflow社區遵循你的問題,他們可能被誤導了,對於我們(他們已經回答你的問題),我們已經根據你的第一次編輯做出了回答,因此,對於那些可能執行我們給定代碼的追隨者有不好的影響。答案對你有意義,然後接受,這樣,你的問題的追隨者可能會受益。希望,你會明白這個問題。 – sunkuet02

回答

2

更改登入功能

@RequestMapping(value = "/") 
public String login(){ 
    return "login"; 
} 

而且改變在下面的部分web.xml文件:

<servlet-mapping> 
    <servlet-name>mvc-dispatcher</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 

你需要從mvc-dispatcher-servlet.xml

<bean name="/login" 
     class="com.karans.finalwebstore.controllers.UserController" /> 

也刪除以下行,請確保login.jsp文件包含unde r /WEB-INF/views/文件夾。

+0

@masoomi,我看到你在回答你的問題之後編輯了你的問題,也不接受我的回答,這是不恰當的,它會影響問題和答案的追隨者的不良影響。重新陷入另一個問題,然後向社區提出另一個問題。 – sunkuet02

0

嘗試以下操作:

添加Spring MVC的命名空間到你的MVC-派遣-servlet.xml文件的xmlns:MVC = 「http://www.springframework.org/schema/mvc」。您將需要更新XSI:的schemaLocation以及與此「http://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd

二加< MVC:註解驅動/ >到文件中。如果我沒有記錯,這可以處理@RequestMapping註釋。

第三,刪除名爲「/ login」聲明的bean。它與在文件底部聲明的UserController類型相同。