Mein Fall ist: Ich habe eine Homepage, es gibt einen Link namens "Anmelden" auf meiner Homepage, als ich auf den "Anmelden" -Link klickte, der Browser zeigt "HTTP-Status [404] - [Nicht gefunden]". was ich will ist: Wenn ich auf den "Anmelden" -Link klicke, möchte ich die Website direkt auf eine neue Seite, die die Anmeldeseite ist. Vielen Dank!Keine Zuordnung gefunden für HTTP-Anfrage mit URI für meinen Fall
homepage.jsp:
<li><a class="drop" href="#">My Account</a>
\t \t <ul>
\t \t \t <li><a href="login.html">Sign In</a></li>
\t \t \t <li><a href="#">Create Account</a>></li>
\t \t </ul>
\t </li>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
\t \t xmlns="http://java.sun.com/xml/ns/javaee"
\t \t xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
\t \t version="3.0">
<display-name>TooO</display-name>
<welcome-file-list>
<welcome-file>homepage.jsp</welcome-file>
</welcome-file-list>
\t <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>crunchify</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login.jsp</url-pattern>
<url-pattern>/login.html</url-pattern>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
</web-app>
Login-servlet.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
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.xsd">
<!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/jsp/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<context:component-scan base-package="com.crunchify.controller" />
</beans:beans>
LoginController.java:
package com.crunchify.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class LoginController {
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String init(Model model) {
model.addAttribute("msg", "Please Enter Your Login Details");
return "login";
}
@RequestMapping(method = RequestMethod.POST)
public String submit(Model model, @ModelAttribute("loginBean") LoginBean loginBean) {
if (loginBean != null && loginBean.getUserName() != null & loginBean.getPassword() != null) {
if (loginBean.getUserName().equals("chandra") && loginBean.getPassword().equals("chandra123")) {
model.addAttribute("msg", "welcome" + loginBean.getUserName());
return "success";
} else {
model.addAttribute("error", "Invalid Details");
return "login";
}
} else {
model.addAttribute("error", "Please enter Details");
return "login";
}
}
}
Here is the screenshot of the 404 error web page
Zuerst löschen Sie die .html von Ihrem Link
Fügen Sie SomePath zu Ihrer Post-Methode wie @PostMapping ("/ submit") hinzu. –
Können Sie mir den Link zeigen, der 404 verursacht? – weaver