Spring mvc 对于在DispatcherServlet中具有URI[/resteasy jpa crud/resteasy/services/employeeService/findall]且名称为';springmvc hibernate resteasy';
我开发了Spring+RestEasy+JPA示例,并试图通过restclient和JSP等客户端调用resful服务,但我无法调用它,不确定这里出了什么问题。我已经修改了代码并放在这里:: 参考资料取自: web.xmlSpring 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
<?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
?是可以检查