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版
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星