首页
学习
活动
专区
圈层
工具
发布

SpringMVC报错:HTTP Status 405 - JSPs only permit GET POST or HEAD

最近在写JavaEE系列的文章,在写SpringMVC的REST风格URL的时候出现了一些问题,下面是部分代码。...而你在控制器方法中编写的返回值是一个字符串,SpringMVC会认为这是一个jsp页面,所以报错了。 这就完美地解释了第一种解决办法为什么能够起作用,但是切换tomcat版本显然并不好。...注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过Response对象输出指定格式的数据。...就是因为DELETE和PUT请求直接跳转jsp页面会出错,当你在待跳转的jsp页面中设置isErrorPage属性为true后,在跳转jsp页面时出错,而设置了isErrorPage属性的页面即为错误页面...但这些方法总归是有些违背自己的主观意愿,所以只有当你需要使用DELETE和PUT请求时才去使用它们,比如通过它们返回一些数据,否则就不要去用它们了,这是多此一举。

65910

【jquery Ajax】基础概念与使用教学

客户端 上网过程中,负责获取和消费资源的电脑,叫做客户端,  URL地址         url地址的概念 URL,中文叫统一资源定位符,用于标识互联网上每个资源的唯一存放位置,浏览器只有通过URL地址...URL地址的组成部分 URL地址一共分为三部分 客户端与服务器之间的通信协议 存有该资源的服务器名称 资源在服务器上具体的存放位置。  ...否 请求成功时的回调函数          $.get()发起不带参数的请求 使用$.get()函数发起不带参数的请求时,直接提供请求的URL地址和请求成功之后的回调函数即可。...}) })           $.get()发起带参数的请求 id="get">发起带参数的请求...只获取了id:1数据。         $.post()函数的语法 jquery中$.post()函数的功能单一,专门用来发起post请求,从而向服务器提交数据。

3.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Node.js学习笔记(四)——NodeJS访问MongoDB与MySQL数据库

    ,是mongodb自已生成的,每行数据都会存在,默认是ObjectId,可以在插入数据时插入这个键的值(支持mongodb支持的所有数据类型)  查看数据:db.products.find({}) b)...可以自已插入、一个表中不一定要字段都相同,虽然insert和save方法都可以插入数据,当默认的“_id”值已存在时,调用insert方法插入会报错;而save方法不会,会更新相同的_id所在行数据的信息...表格也能看到新数据 // 当前数据只有4条,本条数据id为什么是5?...(数据对象的每个属性和字段一一对应的情况下可使用) const user = { id: 6, usersname: '夸夸牛', password:'000111' } // 定义SQL语句 const...// 执行SQL语句 // SQL语句中有多个占位符,则必须使用数组为每个占位符指定具体的值 // 如果只有一个占位符,则可以省略数组 db.query(sqlStr,5,(err,results) =

    4.6K20

    Linkerd 2.10(Step by Step)—使用每个路由指标调试 HTTP 应用程序

    依赖服务中的故障可能正是导致 webapp 返回错误的原因(以及您作为用户在单击时可以看到的错误)。我们可以看到 books 服务也失败了。...我们可以看到,从 webapp 服务到 books 服务的入站流量在很大一部分时间都失败了。这可以解释为什么 webapp 会引发间歇性故障。让我们点击 tap (?)...图标, 然后点击开始按钮来查看实际的请求和响应流。 事实上,许多这些请求都返回 500。 诊断仅影响单一路线的间歇性问题非常容易。...Linkerd 使用请求的 Host 头将服务配置文件与请求相关联。...HEAD /authors/{id}.json 路由, 并且这些请求在大约 50% 的时间内失败。

    80530

    如何开发一套EHS健康安全环境管理系统中的风险管理板块?(附架构图+流程图+代码参考)

    本文你将了解为什么要讲 EHS 风险管控板块?...许多企业有事故隐患、违规操作的痛点:日常巡检记录成表格堆在盘上、风险评分靠人工经验、整改闭环不及时、看板信息滞后。...2.在系统中如何实现 LEC提供一套标准化的量表供评分,并允许配置(公司可调权重)评分既可由巡检人员现场评分,也可由系统在规则触发时自动初评(例如传感器报警触发高 C)保留评分历史(用于趋势、验证评估是否下降...可以结合信任链:每条记录生成唯一的不可篡改 ID,并把关键事件摘要写入审计日志或使用不可变的存储(例如 append-only log)。...常见做法是通过中间层(API 网关或消息队列)完成数据交换。

    82610

    REST API有关幂等性等11条最佳实践

    GET /listings/{listing_id} # a much better endpoint 这并不是说复合 URL 没有意义 - 当您真正拥有复合键时才使用它们...规则 #3:不要在 url 中添加 .json 或其他扩展名 这似乎是 Rails 的某种默认行为,因此它间歇性地出现在公共 API 中。Shopify在这里感到羞耻。...当调用(例如)GET /things/{thing_id}请求一个不存在的东西时,响应应表明:1)服务器理解了您的请求;2)没有找到该东西。遗憾的是,404 响应并不能保证 #1。...如果您不想考虑太多,请采用以下解决方案: 让客户端在每次 POST/create 操作时提交幂等性键(也称为“客户参考 ID”) 将其存储在具有唯一约束的数据库中 违反唯一约束时返回 409 CONFLICT...在 409 响应正文中提供原始 ID 亮点:通过允许具有相同参数的重复请求或在冲突时返回现有 ID,使 API 具有幂等性。

    1K20

    如何开发一套研发项目管理系统?(附架构图+流程图+代码参考)

    建议:统一口径:在系统里固定优先级(P0/P1/P2)与严重度(S0/S1/S2),避免混乱。支持自定义字段:但先保守,使用 ext(JSON)字段存放非核心字段,避免频繁改表。...审核权限:只有管理员/项目负责人能新增 Project/Component/Version,避免冗余。数据迁移:导入 Excel 时先在测试环境跑一次,清洗重复用户/项目名再导入。...统一状态与口径:在系统中把 priority、severity、status 制定文档并强制使用,后续报表才可靠。...|| 'S2', reporter_id, assignee_id, version]; try { const { rows } = await pool.query(sql, vals);...rows) { await pool.query('INSERT INTO reports (project_id, report_date, type, content) VALUES ($1,

    81510

    django之文件上传下载等相关

    ',{'uf':uf})#只有刚显示时才起作用 配置urls.py: from django.conf.urls import url from django.contrib import admin...需要特别注意的是,只有当request方法是POST,且发送request的有属性enctype=”multipart/form-data”时,表明不对字符进行编码,request.FILES...注意request.FILES只有在请求方法为POST并且提交请求的具有enctype=”multipart/form-data”属性时才包含数据。...这个函数判断用户的是否为POST请求,如果是并验证是有效的,然后就返回OK,在验证正确和返回OK的中间放我们的上传文件处理函数handle_upload_file,因为只有文件上传成功能返回OK。...这样图片的url才是完整的,我们的页面才可以正常显示图片。 2.

    4.1K30

    实战:第一章:防止其他人通过用户的url访问用户私人数据

    解决方案:url做成通用的,数据请求需要用户自己主动触发(百度的)(不建议使用) 思路二:访问都需要登陆操作,session中放入userId, 记录中放入userId,每次访问的时候根据url中记录...思路三:用户访问订单的请求地址时带一个token,采用token,jwt加时间戳,放到每次请求的header中,拿到token进行校验,判断是否为该用户自己的账户,如果是则进行请求,如果不是则提示,转请求错误的页面...(这个需要前端在用户点击发请求时将token带上) 思路四:后台系统层面做一个授权与鉴权。所以虽然URL一样,但只有登陆授权过的用户才能让他看指定的数据。...思路五:在路由地方增加一个中间件,把需要验证的路由全部走这个中间件。每次用户登录的时候生成一个比较长的hash码(保证每个用户不重复) session 保存这个 hash。...每次请求的时候验证这个 hash 就好了。每次登录都不同,不纯在泄漏问题。

    62420

    python-flask之路由及请求参数

    都是固定的, 但URL可不都是固定的,比如/book/1/price 这种restful风格的URL,中间的1是某个book的id,如果用GET方法来请求这个URL,则表示希望获取id为1的book的价格...', add_rule) 在route装饰器中,调用了add_url_rule方法来添加路由规则,因此,他们最终的效果是一样的 设置method http协议中,有很多种请求方法 一个URL,我们可以使用不同的方法来请求...,在创建路由规则时,我们可以指定这个URL支持哪些请求方法 @app.route('/users', methods=['GET', 'POST']) def users(): return '...解析get请求参数 介绍flask如何解析http的get请求的参数, 解析post请求提交的表单和json数据, get请求用于查询数据,通常会带有参数,参数放在path的后面,中间用问号连接,多个请求参数以...key=value的形式用&连接起来, 下面是一个带参数的get请求的示例url http://127.0.0.1:5000/users?

    2.1K10

    实战:第一章:防止其他人通过用户的url访问用户私人数据

    解决方案:url做成通用的,数据请求需要用户自己主动触发(百度的)(不建议使用) 思路二:访问都需要登陆操作,session中放入userId, 记录中放入userId,每次访问的时候根据url中记录id...思路三:用户访问订单的请求地址时带一个token,采用token,jwt加时间戳,放到每次请求的header中,拿到token进行校验,判断是否为该用户自己的账户,如果是则进行请求,如果不是则提示,转请求错误的页面...(这个需要前端在用户点击发请求时将token带上) 思路四:后台系统层面做一个授权与鉴权。所以虽然URL一样,但只有登陆授权过的用户才能让他看指定的数据。...思路五:在路由地方增加一个中间件,把需要验证的路由全部走这个中间件。每次用户登录的时候生成一个比较长的hash码(保证每个用户不重复) session 保存这个 hash。...每次请求的时候验证这个 hash 就好了。每次登录都不同,不纯在泄漏问题。

    63740

    [性能测试实战30讲」之问题问答整理八、九、十

    0 1 思考题 HTTP 的 GET 和 POST 请求,在后端处理中有什么不同?断言的作用是什么?如何使用断言呢?...一般来说get是获取数据数据会在url上显示,post是提交数据,提交数据不会显示到url上, 而且Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。...其他地方使用POST 断言的作用是什么?...理解断言是为了校验请求是否正确,只要增加合理的断言,才可以做性能测试,如果不加断言就不知道业务请求是否正确,再加没有断言TPS会很平稳,对实际压测结果意义不大。 如何使用断言呢?...如果不是预热类型的。可以在每次跑之前清一下。 读者D: get请求,一般后端服务只是通过传过来的参数查询数据库,返回结果;post请求,一般后端服务会将请求所包含的内容更新到数据库,返回更新结果。

    85410

    on、where、having的区别

    但因为on是先把不符合条件的记录过滤后才进行统计,它就可以减少中间运算要处理的数据,按理说应该速度是最快的。...但也不是说having没用,因为有时在步骤3还没出来都不知道那个记录才符合要求时,就要用having了。 在两个表联接时才用on的,所以在一个表的时候,就剩下where跟having比较了。...在这单表查询统计的情况下,如果要过滤的条件没有涉及到要计算字段,那它们的结果是一样的,只是where可以使用rushmore技术,而having就不能,在速度上后者要慢。...如果要涉及到计算的字段,就表示在没计算之前,这个字段的值是不确定的,根据上篇写的工作流程,where的作用时间是在计算之前就完成的,而having就是在计算后才起作用的,所以在这种情况下,两者的结果会不同...在多表联接查询时,on比where更早起作用。参考链接 系统首先根据各个表之间的联接条件,把多个表合成一个临时表后,再由where进行过滤,然后再计算,计算完后再由having进行过滤。

    67220

    【3】Java面试-Servlet

    大多数时候,使用HTTP协议访问Web应用程序,这就是为什么我们主要扩展HttpServlet类的原因。Servlet API层次结构如下图所示。 ? Q2。Get和Post方法之间有什么区别?...Get Post 可以发送的数据量有限,因为数据是在标头中发送的。 因为数据是在体内发送的,所以可以发送大量数据。 不安全,因为数据显示在URL栏中。 由于数据未显示在URL栏中而被保护。...可以收藏 无法收藏 幂等 非等幂的 比Post更有效和使用 它效率较低且使用过 Q3。什么是请求分派器?...forward()方法在服务器端起作用。 sendRedirect()方法在客户端起作用。 forward()方法仅在服务器内起作用。 sendRedirect()方法可在服务器内部和外部使用。...由于HTTP和Web Server都是无状态的,因此维护会话的唯一方法是在每次请求和响应中在服务器和客户端之间传递有关会话的某些唯一信息(会话ID)时。

    91410

    nginx的location、rewrite玩法详解

    Rewrite规则 rewrite功能就是,使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。...语法rewrite regex replacement [flag]; 如果相对域名或参数字符串起作用,可以使用全局变量匹配,也可以使用proxy_pass反向代理。...这里 last 和 break 区别有点难以理解: last一般写在server和if中,而break一般使用在location中 last不终止重写后的url匹配,即新的url会再从server走一遍匹配流程...如果为真,大括号内的rewrite指令将被执行,if条件(conditon)可以是如下任何内容: 当表达式只是一个变量时,如果值为空或任何以0开头的字符串都会当做false 直接比较变量和内容时,使用=...$server_protocol : 请求使用的协议,通常是HTTP/1.0或HTTP/1.1。 $server_addr : 服务器地址,在完成一次系统调用后可以确定这个值。

    1.6K30

    Node.js—Express使用、Express 路由 、Express 中间件、托管静态资源、使用 Express 写接口、node.js链接sqlite数据库

    ’/'的get请求 现在我们使用postman工具模拟客户端来发起get请求,并带query参数 我们可以看到在模拟客户端的工具内确实是响应了JSON对象(res.send(req.query)) 同时我们也可以看到服务端的打印情况...('Got a POST request') }) 理解路由的匹配过程 每当一个请求到达服务器之后,需要先经过路由的匹配,只有匹配成功之后,才会调用对应的处理函数。...在匹配时,会按照路由的顺序进行匹配,如果请求类型和请求的URL同时匹配成功,则 Express 会将这次请求,转交给对应的function函数进行处理。...在项目中,大家可以按需下载并配置第三方中间件,从而提高项目的开发效率。 例如:在express@4.16.0之前的版本中,经常使用body-parser这个第三方中间件,来解析请求体数据。...客户端浏览器无须做任何额外的配置,即可请求开启了CORS的接口。 CORS在浏览器中有兼容性。只有支持XMLHttpRequest Level2的浏览器,才能正常访问开启了CORS的服务端接口。

    3.6K42

    详解SDN限速之meter表

    默认单位是 kb/s 更换成 packet/s 的算法 是否开启burst 是否统计 meter_id: meter_id 这个字段是meter表的身份id,在交换机中是唯一的。...同一时间只有一个计量带生效,如果数据包的速度超过所有的计量带,那么配置的速度最高的计量带会被使用。 type: type字段是指高出限速值的数据包的处理方式。主要有丢弃和设置优先丢弃。...).只有在使用区分服务时,这个字段才起作用. experimenter:该类型应该是被用于创新实验使用的,可以自定义超出定义值的数据包处理方式。...它主要用于在使用meter表时突发的大量数据包或者字节时。...以带宽限速中间范围值验证 两个限速为5M和12M,客户端以中间值8M带宽测试 服务端接收到的带宽为5M左右,限速符合多计量带规则。

    3.6K10

    快速学习-综合案例RESTRUL_CRUD

    7.1.4 删除操作 URL:emp/{id} 请求方式:DELETE 删除后效果:对应记录从数据表中删除 7.1.5 修改操作-去往修改页面 URI:emp/{id} 请求方式:GET 显示效果:回显表单...form 标签 一般情况下,通过 GET 请求获取表单页面,而通过 POST 请求提交表单页面,因此获取表单页面和提交表单页面的 URL 是相同的。...过滤器 7.7.3 需要使用jQuery来转换请求方式 加入jQuery库文件 /scripts/jquery-1.9.1.min.js jQuery库文件不起作用 警告: No mapping found...解决办法,SpringMVC 处理静态资源 ① 为什么会有这样的问题: 优雅的 REST 风格的资源URL 不希望带 .html 或 .do 等后缀,若将 DispatcherServlet 请求映射配置为...,如果发现是没有经过映射的请求, 就将该请求交由 WEB 应用服务器默认的 Servlet 处理,如果不是静态资源的请求,才由 DispatcherServlet 继续处理 一般 WEB 应用服务器默认的

    2.1K20
    领券