用spring注解可以发布rest服务吗

2024-12-20 19:33:44
推荐回答(1个)
回答1:

使用spring注解是可以实现rest服务的,具体实现参考以下步骤代码:

1、配置web.xml


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">
  
  
        
   contextConfigLocation
   /WEB-INF/rest-servlet.xml
  

  
   org.springframework.web.context.ContextLoaderListener
  

  
        
   rest
   org.springframework.web.servlet.DispatcherServlet
   2
  

  
        
   rest
   /
  

  
   /index.jsp
  

2、配置rest-servlet.xml(这是spring的配置文件)


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-lazy-init="true">

  Spring公共配置

  
  
  
  

  
    
     
   

3、Controller代码实现

package com.liqiu.controller;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/simple")
public class SimpleController {
//映射路径/simple/index当访问这个路径时,执行这个方法
@RequestMapping("/index")
public String index(HttpServletRequest request ,HttpServletResponse response){
               //response,request会自动传进来
request.setAttribute("message", "Hello,This is a example of Spring3 RESTful!");
return "index.jsp";
}
//根据ID获取不同的内容,通过@PathVariable 获得属性
@RequestMapping(value="/{id}",method=RequestMethod.GET)
public String get(@PathVariable String id,HttpServletRequest request ,HttpServletResponse response) throws IOException{
request.setAttribute("message", "Hello,This is a example of Spring3 RESTful!
ID:"+id+"");
//response.getWriter().write("You put id is : "+id);
return "index.jsp";
//return null;
}
}

JSP页面

<%@ page language="java" pageEncoding="UTF-8"%>

  
    Spring3 RESTful
   
  
  
    ${message}
   

4、测试

在浏览器中输入:http://localhost:8080/SpringREST/simple/index/,就可以看到效果。

也可以在页面输入不同的参数,获得不同的内容,输入地址:http://localhost:8080/SpringREST/simple/88888,这次执行的就是get方法,通过注解获取ID值。