Spring Mvc Controller-删除问题

我在j2ee项目(pojo层,Dao层(hibernate),Service层(spring),View(spring

mvc))中工作,我想在每行之后添加一个文章表,以添加一个链接来删除它。

这是我的看法

<c:if test="${!empty articles}">

<table>

<tr>

<th>Article ID</th>

<th>Article Name</th>

<th>Article Desc</th>

<th>Added Date</th>

<th>operation</th>

</tr>

<c:forEach items="${articles}" var="article">

<tr>

<td><c:out value="${article.articleId}"/></td>

<td><c:out value="${article.articleName}"/></td>

<td><c:out value="${article.articleDesc}"/></td>

<td><c:out value="${article.addedDate}"/></td>

<td><a href="articles/${article.articleId}">delete</a></td>

</tr>

</c:forEach>

</table>

这是要删除的控制器

@RequestMapping(value="/articles/{articleId}", method=RequestMethod.POST)

public String deleteContact(@PathVariable("articleId")

Integer articleId) {

articleService.removeArticle(articleId);

return "redirect:/articles.html";

}

这是服务层

    @Transactional(propagation = Propagation.REQUIRED, readOnly = false)

public void removeArticle(Integer id) {

articleDao.removeArticle(id);

}

这是Dao层(我尝试找到该文章然后将其删除)

    public void removeArticle(Integer id) {

//to get the article

Article article = (Article) sessionFactory.getCurrentSession().load(

Article.class, id);

if (null != article) {

sessionFactory.getCurrentSession().delete(article);

}

}

但是当我运行该项目并单击删除链接时,出现404错误Etat HTTP 404-/ Spring3Hibernate / articles /

1说明所请求的资源(/ Spring3Hibernate / articles / 1)不可用

有人可以帮我吗?

回答:

 <td><a href="articles/${article.articleId}">delete</a></td>

这是标准的GET请求,但是您的控制器已映射到POST。

@RequestMapping(value="/articles/{articleId}", method=RequestMethod.POST)

另外,它看起来像是很大的安全问题。我可以编写一个非常简单的10行程序,该程序将使用get或post请求从/ articles / 1到/ articles

/ {any number}进行调用,并删除整个数据。我建议仅在设计此类应用程序时将其考虑在内。

以上是 Spring Mvc Controller-删除问题 的全部内容, 来源链接: utcz.com/qa/416698.html

回到顶部