Spring MVC中的重定向错误(http状态404请求的资源不可用jsp)

内拉杰

我开始学习Spring MVC,并且在开发项目时遇到了一些问题。我的控制器类能够处理第一个请求“ /”并提供给我主页。从主页上单击href我要重定向到另一个页面,即ContactForm。我在控制器类中定义相同的内容。

在控制器类和JSP页面下面。

Home.jsp

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Contact Manager Home</title>
    </head>
    <body>
        <div align="center">
            <h1>Contact List</h1>
            <h3><a href="/newContact">New Contact</a></h3>
            <table border="1">
                <th>No</th>
                <th>Name</th>
                <th>Email</th>
                <th>Address</th>
                <th>Telephone</th>
                <th>Action</th>                 
                <c:forEach var="contact" items="${listContact}" varStatus="status">
                <tr>
                    <td>${status.index + 1}</td>
                    <td>${contact.name}</td>
                    <td>${contact.email}</td>
                    <td>${contact.address}</td>
                    <td>${contact.telephone}</td>
                    <td>
                        <a href="/editContact?id=${contact.id}">Edit</a>
                        &nbsp;&nbsp;&nbsp;&nbsp;
                        <a href="/deleteContact?id=${contact.id}">Delete</a>
                    </td>                             
                </tr>
                </c:forEach>             
            </table>
        </div>
    </body>
</html>

ContactForm.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>New/Edit Contact</title>
</head>
<body>
    <div align="center">
        <h1>New/Edit Contact</h1>
        <form:form action="saveContact" method="post" modelAttribute="contact">
        <table>
            <form:hidden path="id"/>
            <tr>
                <td>Name:</td>
                <td><form:input path="name" /></td>
            </tr>
            <tr>
                <td>Email:</td>
                <td><form:input path="email" /></td>
            </tr>
            <tr>
                <td>Address:</td>
                <td><form:input path="address" /></td>
            </tr>
            <tr>
                <td>Telephone:</td>
                <td><form:input path="telephone" /></td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="Save"></td>
            </tr>
        </table>
        </form:form>
    </div>
</body>
</html>

控制器类

@Controller
public class HomeController {   
    @Autowired
    private ContactDAO contactDAO;  
    @RequestMapping(value = "/")
    public ModelAndView listContact(ModelAndView model) throws IOException{     
        List<Contact> listContact = contactDAO.list();
        model.addObject("listContact", listContact);
        model.setViewName("home");   
        return model;
    }

    @RequestMapping(value = "/newContact", method = RequestMethod.GET)
    public ModelAndView newContact(ModelAndView model) {
        Contact newContact = new Contact();
        model.addObject("contact", newContact);
        model.setViewName("ContactForm");
        return model;
    }

    @RequestMapping(value = "/saveContact", method = RequestMethod.POST)
    public ModelAndView saveContact(@ModelAttribute Contact contact) {
        contactDAO.saveOrUpdate(contact);
        return new ModelAndView("redirect:/");
    }

    @RequestMapping(value = "/deleteContact", method = RequestMethod.GET)
    public ModelAndView deleteContact(HttpServletRequest request) {
        int contactId = Integer.parseInt(request.getParameter("id"));
        contactDAO.delete(contactId);
        return new ModelAndView("redirect:/");
    }

    @RequestMapping(value = "/editContact", method = RequestMethod.GET)
    public ModelAndView editContact(HttpServletRequest request) {
        int contactId = Integer.parseInt(request.getParameter("id"));
        Contact contact = contactDAO.get(contactId);
        ModelAndView model = new ModelAndView("ContactForm");
        model.addObject("contact", contact);     
        return model;
    }

请提供您的宝贵建议。提前致谢

句法

您正在犯一个根本性的错误。假设您的项目名称为neeraj-proj,因此访问的网址为localhost:8080/neeraj-proj当您点击link时<h3><a href="/newContact"></h3>,实际上是在点击localhost:8080/newContact而不是localhost:8080/neeraj-proj/newContact

解决方法是简单地将a附加.到您的所有href links例如<h3><a href="./newContact">New Contact</a></h3>

注意:浏览器认为localhost:8080base urlhost url

相似地 <a href="./editContact?id=${contact.id}">Edit</a>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

请求的资源在Spring MVC中不可用

来自分类Dev

Spring MVC + Tiles + Spring Security =请求的资源不可用

来自分类Dev

带CSS的Spring MVC-请求的资源不可用

来自分类Dev

Spring Security 自定义登录表单重定向到资源不可用

来自分类Dev

Tomcat和STS上的Spring Web MVC-请求的资源不可用

来自分类Dev

从jsp重定向jsp-错误“请求的资源不可用。”

来自分类Dev

Http状态404-/请求的资源不可用

来自分类Dev

HTTP状态404请求的资源不可用

来自分类Dev

Java Servlet,http状态404,请求的资源不可用

来自分类Dev

Tomcat 8 Http状态404请求的资源不可用

来自分类Dev

Spring 集成:错误通道在 XML 中不可用

来自分类Dev

Spring MVC 404错误http请求

来自分类Dev

Spring MVC 404错误http请求

来自分类Dev

Spring MVC。HTTP状态404

来自分类Dev

Spring MVC。HTTP状态404

来自分类Dev

HTTP状态404-请求的资源(/BookStore/index.html)不可用

来自分类Dev

CSS文件-> http状态404-请求的资源不可用

来自分类Dev

HTTP 状态 404 打开 HTML 页面时请求的资源不可用

来自分类Dev

Tomcat Servlet:错误404-请求的资源不可用

来自分类Dev

我收到“请求的资源不可用” 404错误

来自分类Dev

如何在Spring MVC REST测试中重定向模拟重定向请求?

来自分类Dev

JpaStateMachineRepository 在 Spring StateMachine 2.0.0 中不可用

来自分类Dev

HTTP状态404-请求的资源不可用。一个简单的servlet身份验证系统

来自分类Dev

请求的资源不可用错误

来自分类Dev

Spring MVC:在@ResponseBody中重定向

来自分类Dev

Spring MVC:在@ResponseBody中重定向

来自分类Dev

Spring MVC请求处理错误(404)

来自分类Dev

从Ajax到Spring MVC的请求。404错误

来自分类Dev

CSS资源在JSP中不可用

Related 相关文章

热门标签

归档