Spring mvc 对于在DispatcherServlet中具有URI[/resteasy jpa crud/resteasy/services/employeeService/findall]且名称为';springmvc hibernate resteasy';

Spring mvc 对于在DispatcherServlet中具有URI[/resteasy jpa crud/resteasy/services/employeeService/findall]且名称为';springmvc hibernate resteasy';,spring-mvc,spring-data-jpa,resteasy,Spring Mvc,Spring Data Jpa,Resteasy,我开发了Spring+RestEasy+JPA示例,并试图通过restclient和JSP等客户端调用resful服务,但我无法调用它,不确定这里出了什么问题。我已经修改了代码并放在这里:: 参考资料取自: web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www

我开发了Spring+RestEasy+JPA示例,并试图通过restclient和JSP等客户端调用resful服务,但我无法调用它,不确定这里出了什么问题。我已经修改了代码并放在这里::

参考资料取自:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

    <display-name>resteasy-jpa-crud</display-name>

    <!-- Spring MVC Dispatcher Servlet -->
    <servlet>
        <servlet-name>springmvc-hibernate-resteasy</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>springmvc-hibernate-resteasy</servlet-name>
        <url-pattern>/resteasy/*</url-pattern>
    </servlet-mapping>

    <!-- loading Spring Context for registering beans with ApplicationContext -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/springmvc-hibernate-resteasy-servlet.xml</param-value>
    </context-param>

    <!-- welcome file -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

</web-app>
EmployeeController.java

@Path("/services/employeeService")
public class EmployeeController {

    @Autowired
    private EmployeeService employeeService;

    @POST
    @Path("/create")
    @Produces(MediaType.APPLICATION_XML)
    @Consumes("application/x-www-form-urlencoded")
    public Employee createEmployee(@FormParam("empno") Integer id, @FormParam("empname") String name) {
        Employee employee = employeeService.createEmployee(id, name);
        return employee;
    }

    @GET
    @Produces(MediaType.APPLICATION_XML)
    @Path("/findall")
    public Collection<Employee> findAllEmployees() {
        Collection<Employee> collection = employeeService.findAllEmployees();
        return collection;
    }
}
public interface EmployeeService {
    public void doAction();
    public Employee createEmployee(Integer id, String name);
    public void removeEmployee(Integer id);
    public Employee findEmployee(Integer id);
    public Collection<Employee> findAllEmployees() ;
}
public class EmployeeServiceImpl implements EmployeeService {

    @Autowired
    private EmployeeRepository employeeRepository;

    @Override
    public void doAction() {

    }

    @Override
    public Employee createEmployee(Integer id, String name) {
        Employee e = new Employee();
        e.setEmpno(id);
        e.setEname(name);

        employeeRepository.save(e);
        return e;
    }

    @Override
    public void removeEmployee(Integer id) {
        Employee e = employeeRepository.findByEmpno(id);
        if(e != null){
            employeeRepository.delete(id);
        }
    }

    @Override
    public Employee findEmployee(Integer id) {
        return employeeRepository.findByEmpno(id);
    }

    @Override
    public Collection<Employee> findAllEmployees() {
        return employeeRepository.findAll();
    }
}
@Path(“/services/employeeService”)
公共类EmployeeController{
@自动连线
私人雇员服务;
@职位
@路径(“/create”)
@生成(MediaType.APPLICATION\u XML)
@使用(“应用程序/x-www-form-urlencoded”)
公共雇员createEmployee(@FormParam(“empno”)整数id,@FormParam(“empname”)字符串名称){
Employee=employeeService.createEmployee(id,名称);
返回员工;
}
@得到
@生成(MediaType.APPLICATION\u XML)
@路径(“/findall”)
公共集合findAllEmployees(){
Collection Collection=employeeService.findAllEmployees();
回收;
}
}
EmployeeService.java

@Path("/services/employeeService")
public class EmployeeController {

    @Autowired
    private EmployeeService employeeService;

    @POST
    @Path("/create")
    @Produces(MediaType.APPLICATION_XML)
    @Consumes("application/x-www-form-urlencoded")
    public Employee createEmployee(@FormParam("empno") Integer id, @FormParam("empname") String name) {
        Employee employee = employeeService.createEmployee(id, name);
        return employee;
    }

    @GET
    @Produces(MediaType.APPLICATION_XML)
    @Path("/findall")
    public Collection<Employee> findAllEmployees() {
        Collection<Employee> collection = employeeService.findAllEmployees();
        return collection;
    }
}
public interface EmployeeService {
    public void doAction();
    public Employee createEmployee(Integer id, String name);
    public void removeEmployee(Integer id);
    public Employee findEmployee(Integer id);
    public Collection<Employee> findAllEmployees() ;
}
public class EmployeeServiceImpl implements EmployeeService {

    @Autowired
    private EmployeeRepository employeeRepository;

    @Override
    public void doAction() {

    }

    @Override
    public Employee createEmployee(Integer id, String name) {
        Employee e = new Employee();
        e.setEmpno(id);
        e.setEname(name);

        employeeRepository.save(e);
        return e;
    }

    @Override
    public void removeEmployee(Integer id) {
        Employee e = employeeRepository.findByEmpno(id);
        if(e != null){
            employeeRepository.delete(id);
        }
    }

    @Override
    public Employee findEmployee(Integer id) {
        return employeeRepository.findByEmpno(id);
    }

    @Override
    public Collection<Employee> findAllEmployees() {
        return employeeRepository.findAll();
    }
}
公共接口EmployeeService{
公共无效行为();
public Employee createEmployee(整数id,字符串名称);
公共无效removeEmployee(整数id);
公共雇员findEmployee(整数id);
公共集合findAllEmployees();
}
EmployeeServiceImpl.java

@Path("/services/employeeService")
public class EmployeeController {

    @Autowired
    private EmployeeService employeeService;

    @POST
    @Path("/create")
    @Produces(MediaType.APPLICATION_XML)
    @Consumes("application/x-www-form-urlencoded")
    public Employee createEmployee(@FormParam("empno") Integer id, @FormParam("empname") String name) {
        Employee employee = employeeService.createEmployee(id, name);
        return employee;
    }

    @GET
    @Produces(MediaType.APPLICATION_XML)
    @Path("/findall")
    public Collection<Employee> findAllEmployees() {
        Collection<Employee> collection = employeeService.findAllEmployees();
        return collection;
    }
}
public interface EmployeeService {
    public void doAction();
    public Employee createEmployee(Integer id, String name);
    public void removeEmployee(Integer id);
    public Employee findEmployee(Integer id);
    public Collection<Employee> findAllEmployees() ;
}
public class EmployeeServiceImpl implements EmployeeService {

    @Autowired
    private EmployeeRepository employeeRepository;

    @Override
    public void doAction() {

    }

    @Override
    public Employee createEmployee(Integer id, String name) {
        Employee e = new Employee();
        e.setEmpno(id);
        e.setEname(name);

        employeeRepository.save(e);
        return e;
    }

    @Override
    public void removeEmployee(Integer id) {
        Employee e = employeeRepository.findByEmpno(id);
        if(e != null){
            employeeRepository.delete(id);
        }
    }

    @Override
    public Employee findEmployee(Integer id) {
        return employeeRepository.findByEmpno(id);
    }

    @Override
    public Collection<Employee> findAllEmployees() {
        return employeeRepository.findAll();
    }
}
公共类EmployeeServiceImpl实现EmployeeService{
@自动连线
私人雇员住所雇员住所;
@凌驾
公共无效行为(){
}
@凌驾
公共雇员createEmployee(整数id,字符串名称){
员工e=新员工();
e、 setEmpno(id);
e、 setEname(姓名);
雇员储蓄(e);
返回e;
}
@凌驾
public void removeEmployee(整数id){
Employee e=employeeRepository.findByEmpno(id);
如果(e!=null){
employeeRepository.delete(id);
}
}
@凌驾
公共雇员findEmployee(整数id){
返回employeeRepository.findByEmpno(id);
}
@凌驾
公共集合findAllEmployees(){
return employeeRepository.findAll();
}
}
当我打电话时,我看不到服务被呼叫,请引导我


您的服务类别
EmployeeServiceImpl
是否正确地标注了
@service
?是可以检查