HTTP状态 405 - 方法不允许 内详
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>新建</title> <link rel="stylesheet" href="../../../resources/admin/css/bootstrap.min.css"> <link rel="stylesheet" href="../../../resources/admin/css/add.css"> </head> <body> <nav class="navbar navbar-default"> <div class="container"> <div class="navbar-header"> <a class="navbar-brand" href=#> 图书管理 </a> </div> </div> </nav> <div class="container"> <div class="page-header"> <h3><small>新建</small></h3> </div> <form class="form-horizontal" action="/admin/cm/cc" method="post"> <div class="form-group"> <label for="name" class="col-sm-2 control-label">名称 :</label> <div class="col-sm-8"> <input name="name" class="form-control" id="name"> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-primary">保存</button> </div> </div> </form> </div> <footer class="text-center" > copy@imooc </footer> </body> </html>
package com.imooc.lib.controller; import com.alibaba.fastjson.JSON; import com.imooc.lib.entity.Category; import com.imooc.lib.service.CategoriesService; import org.slf4j.ILoggerFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.annotation.*; import java.io.IOException; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @WebServlet(name = "CategoriesManageServlet", value = "/admin/cm/*") public class CategoriesManageServlet extends HttpServlet { private CategoriesService categoriesService =new CategoriesService(); private Category category; Logger logger = LoggerFactory.getLogger(CategoriesManageServlet.class); @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); String uri = request.getRequestURI(); System.out.println(uri); String methodName = uri.substring(uri.lastIndexOf("/")+1); System.out.println(methodName); if (methodName.equals("categories")){ System.out.println(methodName); this.getCategoryList(request, response); }else if(methodName.equals("cc")){ System.out.println(methodName); this.createCategory(request, response); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } private void getCategoryList(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException { List<Category> categories = categoriesService.getAllCategories(); request.setAttribute("categories",categories); request.getRequestDispatcher("/forward/category").forward(request, response); } private void createCategory(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { category = new Category(); String name = request.getParameter("name"); category.setName(name); category.setCreateTime(new Date()); category.setUpdateTime(new Date()); categoriesService.insert(category); this.getCategoryList(request, response); } }
这里提示 post is not supported by this url 那我下面的页面明明有doPost 直接跳转到doGet处理
doGet(request, response);
为什么不起作用呢?
把表单的提交方式改为get后,又出现无法新建数据的情况,不知道以上代码哪里又问题?
这个问题里又两个小问题组成,麻烦老师了!
18
收起
正在回答 回答被采纳积分+1
1回答
相似问题
登录后可查看更多问答,登录/注册
java工程师2020版
- 参与学习 人
- 提交作业 9401 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星