2017-08-05 1 views
0

Ich suche bereits nach meinem Fehler, aber ich habe nichts. immer noch Fehler in meinem Code, also muss ich meine Frage hier posten. Ich habe einen Fehler bekommen, wenn ich mein Projekt in Eclipse mit Tomcat Server starte. Ich beende das Projekt bereits im Frühling MVC 4 + Hibernate mit MongoDB. Jetzt muss ich in Hibernate mit MySQL wechseln, ich starte das Projekt in Eclipse. aber wenn ich die Konfiguration von Frühling mit Winterschlaf vervollständige, zeigt sein Fehler an. Fehler und die Struktur des Projekts folgen unten: enter image description hereHTTP-Status 404 in Eclipse Spring MVC 4 + Hibernate mit MySQL + Tiles.xml

web.xml

<display-name>Archetype Created Web Application</display-name> 
<context-param> 
    <param-name>ApplicationContext</param-name> 
    <param-value>/WEB-INF/applicationContext.xml</param-value> 
</context-param> 
<servlet> 
    <servlet-name>DMS_MySQL</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet 
</servlet-class> 
<load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>DMS_MySQL</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 
<servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>/assets/*</url-pattern> 
</servlet-mapping> 
<error-page> 
    <error-code>404</error-code> 
    <location>/pages/error/error404.jsp</location> 
</error-page> 

<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

<listener> 
    <listener-class>org.springframework.web.context.request.RequestContextListener 
    </listener-class> 
</listener> 

</web-app> 

SpringMVC-servlet.xml

<?xml version="1.0" encoding="UTF-8"? 
<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" xsi:schemaLocation=" //urls//"> 
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> 
    <property name="definitions"> 
     <list> 
      <value>/WEB-INF/tiles.xml</value> 
     </list> 
    </property> 
</bean> 

<bean id="tilesviewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.tiles3.TilesView" /> 
    <property name="order" value="2"></property> 
</bean> 
<bean id="jstlviewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> 
    <property name="prefix" value="/pages/" /> 
    <property name="suffix" value=".jsp" /> 
    <property name="order" value="3"></property> 
</bean> 
</beans> 

applicationContext.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:tx="http://www.springframework.org/schema/tx" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 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/tx 
http://www.springframework.org/schema/tx/spring-tx-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"> 

    <!-- Enable autowire --> 
    <context:annotation-config /> 
    <context:component-scan base-package="com.cs" /> 

    <mvc:annotation-driven /> 

    <mvc:resources mapping="/resources/**" location="/resources/" /> 

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
     <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
     <property name="url" value="jdbc:mysql://localhost:3306/dms" /> 
     <property name="username" value="root" /> 
     <property name="password" value="root" /> 
    </bean> 

    <!-- Session Factory Declaration --> 
    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="packagesToScan" value="com.cs.bean" /> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> 
       <prop key="hibernate.show_sql">true</prop> 
       <prop key="hibernate.enable_lazy_load_no_trans">true</prop> 
       <prop key="hibernate.default_schema">test</prop> 
       <prop key="format_sql">true</prop> 
       <prop key="use_sql_comments">true</prop> 
       <prop key="hibernate.hbm2ddl.auto">update</prop> 
      </props> 
     </property> 
    </bean> 

    <tx:annotation-driven transaction-manager="transactionManager" /> 

    <bean id="transactionManager" 
     class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 

    <import resource="/WEB-INF/SpringMVC-servlet.xml"/> 
</beans> 

LoginController. Java

Paket com.cs.controller;

public class LoginController { 
    @Autowired 
    private UserService userService; 
    @RequestMapping(value="/login") 
    public String execute(HttpSession session, Model model) throws Exception { 
     model.addAttribute("user", new UserBean()); 
     UserBean tempUser = (UserBean) session.getAttribute("USER");   
     if (tempUser != null) { 
      return "redirect:/home"; 
     } 
     return "logn"; 
    } 

    @RequestMapping(value="/performLogin", method = RequestMethod.POST) 
    public String loginProcess(HttpSession session, Model model, @ModelAttribute("user") UserBean user, 
      BindingResult result) throws Exception 
    { 
     UserBean tempUser = (UserBean) session.getAttribute("USER"); 
     if(tempUser != null) 
     {   
      return "redirect:/home"; 
     } 
     if(user == null) 
     {   
      model.addAttribute("user", new UserBean()); 
      return "login"; 
     } 
     if(StringUtils.isBlank(user.getName())) 
     { 
      result.rejectValue("name", "error.required.username"); 
     } 
     if(StringUtils.isBlank(user.getPassword())) 
     { 
      result.rejectValue("password", "error.required.password"); 
     } 
     if(!result.hasErrors()) 
     { 
      tempUser = userService.findByCredential(user); 
      if(tempUser != null) 
      {    
       if (tempUser.getRole().equals(RoleEnum.ADMIN)) {      
        session.setAttribute("USER", tempUser); 
        return "redirect:/home"; 
       } else if (tempUser.getRole().equals(RoleEnum.CASHIER)) {     
        session.setAttribute("USER", tempUser); 
        return "redirect:/cHome"; 
       }    
      }   
      else 
      { 
       result.reject("error.valid.usernamePassword"); 
      } 
     }  
     user.setMobile(""); 
     model.addAttribute("user", user);  
     return "login"; 
    } 
} 

Vielen Dank im Voraus.

Antwort

0

Versuchen Sie http://localhost:8080/DMS_MySQL/login. Versuchen Sie auch Ihre Login-Controller als Wechsel:

@RequestMapping(value = {"/login", "/"}, method = RequestMethod.GET) 
public String execute(HttpSession session, Model model) throws Exception { 
    model.addAttribute("user", new UserBean()); 
    UserBean tempUser = (UserBean) session.getAttribute("USER");   
    if (tempUser != null) { 
     return "redirect:/home"; 
    } 
    return "login";//typo in your code 
} 

Ich nehme an, Sie Mapping für die Anmeldung in Kacheln Konfiguration definiert haben.

0

hier finde ich den Satz

<param-value>/WEB-INF/applicationContext.xml</param-value> 

und wo ist dein applicationContext.xml

+0

Warte ich es hinzufügen. – Harsh