Java axios.post(";/checkitem/add.do";,this.formData)。然后((res)…获取404
当我使用Dubbo和zookeeper实践一个项目时,遇到了404问题。 按理说,“post”地址没有问题,并且此.formData已收到Java axios.post(";/checkitem/add.do";,this.formData)。然后((res)…获取404,java,vue.js,Java,Vue.js,当我使用Dubbo和zookeeper实践一个项目时,遇到了404问题。 按理说,“post”地址没有问题,并且此.formData已收到 这是错误消息 坦白地说,我不知道这些代码是否有用,希望有人能给我一个方向 哦,我忘记了“.do”,web.xml,如下所示 <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframewo
这是错误消息 坦白地说,我不知道这些代码是否有用,希望有人能给我一个方向 哦,我忘记了“.do”,web.xml,如下所示
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
在注意到我迅速解决了这个问题后,我总是试图在前端发现错误,结果忘记检查idea的消息。答案是我的springmvc注释包错误地误读了“itheima”
从未使用过此后端部件,但正如我所看到的,您在axios请求中的路径是/add.do,但在控制器中似乎只是/add。同样的问题可能是,如果您执行POST请求,但您的方法有GET类型,请您检查一下。您是否可以先将axios.POST更改为axios.GET并检查它是否工作;d谢谢您,关于..do,我有web.xml忘了发布。web.xml如上所述。但我无法通过将“发布”更改为“获取”来解决问题。很抱歉,这些东西不起作用:D正如我从错误中看到的,您的请求在控制器上找不到此路径…并且我没有任何其他解决方法的建议。也许无论如何,您控制器中的路径只是“/checkitem/add”所以你可以试着删除。从axios请求中的requst url中删除,然后再试一次:D对我来说就像是在黑暗中拍摄。我发现一些错误消息,你可以看一下吗。
package com.itheima.controller;
import com.alibaba.dubbo.config.annotation.Reference;
import com.itheima.constant.MessageConstant;
import com.itheima.entity.Result;
import com.itheima.pojo.CheckItem;
import com.itheima.service.CheckItemService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 检查项管理
*/
@RestController
@RequestMapping("/checkitem")
public class CheckItemController {
@Reference//查找服务
private CheckItemService checkItemService;
//新增检查项1
@RequestMapping("/add")
public Result add(@RequestBody CheckItem checkItem) {
try{
checkItemService.add(checkItem);
}catch (Exception e) {
e.printStackTrace();//服务调用失败
return new Result(false, MessageConstant.ADD_CHECKITEM_FAIL);
}
return new Result(true,MessageConstant.ADD_CHECKITEM_SUCCESS);
}
}
package com.itheima.service.impl;
import com.alibaba.dubbo.config.annotation.Service;
import com.itheima.dao.CheckItemDao;
import com.itheima.pojo.CheckItem;
import com.itheima.service.CheckItemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
/**
* 检查项服务
*/
@Service(interfaceClass = CheckItemService.class)
@Transactional
public class CheckItemServiceImpl implements CheckItemService {
// 注入dao
@Autowired
private CheckItemDao checkItemDao;
@Override
public void add(CheckItem checkItem) {
checkItemDao.add(checkItem);
}
}
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 指定加载的配置文件 ,通过参数contextConfigLocation加载 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
10:59:48,611 DEBUG RequestMappingHandlerMapping:312 - Looking up handler method for path /checkitem/add.do
10:59:48,612 DEBUG RequestMappingHandlerMapping:322 - Did not find handler method for [/checkitem/add.do]
10:59:48,613 WARN PageNotFound:1205 - No mapping found for HTTP request with URI [/checkitem/add.do] in DispatcherServlet with name 'springmvc'
10:59:48,613 DEBUG DispatcherServlet:1000 - Successfully completed request
<dubbo:application name="health_backend" />
<!--指定服务注册中心地址-->
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
<!--批量扫描-->
<dubbo:annotation package="com.itheima.controller" />
<!--
超时全局设置 10分钟
check=false 不检查服务提供方,开发阶段建议设置为false
check=true 启动时检查服务提供方,如果服务提供方没有启动则报错
-->
<dubbo:consumer timeout="600000" check="false"/>