Błąd 404 przy kompilacji

0

Witam od kilku dni próbuje rozwiązać problem z prostym kontrolerem w Spring-u. Wszystko robione według pomocy z bloga, ale i tak błąd 404 ciągle się wyświetla nie wiem z jakiej przyczyny. Projekt kompilowany w środowisku NetBeans IDE więc wszystkie biblioteki raczej mam przy tworzeniu projektu. Mam nadzieje, że ze źródła załączonego poniżej da sie wywnioskowac co jest przyczyną. prosze o małe wsparcie ;)

Loginuser.java
package com.hcl.anil;

public class LoginUser {

private String userName;
private String password;

/**
 * @return the userName
 */
public String getUserName() {
    return userName;
}

/**
 * @param userName the userName to set
 */
public void setUserName(String userName) {
    this.userName = userName;
}

/**
 * @return the password
 */
public String getPassword() {
    return password;
}

/**
 * @param password the password to set
 */
public void setPassword(String password) {
    this.password = password;
}

}

LoginController.java

package com.hcl.ani.controller;

import com.hcl.anil.LoginUser;
import java.net.BindException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.portlet.ModelAndView;

import org.springframework.web.portlet.mvc.SimpleFormController;
public class LoginConroller extends SimpleFormController{

public LoginConroller(){
    setCommandClass(LoginUser.class);
    setCommandName("loginUser");
}

protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) 
            throws Exception{
    LoginUser user = (LoginUser)command;
    
    ModelAndView mav;
    if(user.getUserName().equals("test") && user.getPassword().equals("test")){
        return mav = new ModelAndView("main","user",user);
    }
    return mav = new ModelAndView("login","user",user);
}

}

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:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">

<!--bean id="propertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
      p:location="/WEB-INF/jdbc.properties" />

<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}" /-->

<!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) -->
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>

dispather-servlet.xml

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<!--
Most controllers will use the ControllerClassNameHandlerMapping above, but
for the index controller we are using ParameterizableViewController, so we must
define an explicit mapping for it.
-->
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="index.htm">indexController</prop>
        </props>
    </property>
</bean>

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver"
      p:prefix="/WEB-INF/jsp/"
      p:suffix=".jsp" />

<!--
The index controller.
-->
<bean name="indexController"
      class="org.springframework.web.servlet.mvc.ParameterizableViewController"
      p:viewName="index" />

      <bean id="loginController" class="com.hcl.ani.controllers.LoginController">
          <property name="formView" value="login" />
          <property name="successView" value="main" />
          
      </bean>
</beans>

login.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form" %>

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Login Page</title> </head> <body>

Login Page

<form:form method="post" commandName="loginUser">
    <table border="1" align="center">
        <tr>
            <td>User Name:</td>
            <td><form:input path="userName" /></td>
        </tr>
        <tr>
            <td>Password</td>
            <td><form:input path="password" /></td>
        </tr>
        <tr>
            <td><input type="submit" value="Login" /></td>
        </tr>
        <tr>
        <a href="registration.htm">New User?Register</a>
        </tr>
    </table>
</form:form>
</body>
</html>
0

Opis problemu niejasny. Jakie działania wykonujesz od strony usera i kiedy wyskakuje błąd? Jeżeli nie działa Ci strona jsp, to zacznij od strony hello_world.

Lepiej opublikuj ten projekt na githubie czy coś, to będzie można sprawdzić. Może błąd jest w pliku web.xml albo braku jakiejś konfiguracji. A samodzielne rozwiązywanie problemu możesz zacząć od włączenia wyższego poziomu logowania ze springa. Ja dość długo się męczyłem z frameworkami do logowania, ale bez tego nie da się zajść daleko.

A wyświetlania kodu nie dało się poprawić? Bo wygląda to kijowo w poście.

0

Używasz klas dla portletów, przykład:

import org.springframework.web.portlet.ModelAndView;

a pewnie powinno być:

import org.springframework.web.servlet.ModelAndView

1 użytkowników online, w tym zalogowanych: 0, gości: 1