servlet实现restful风格调用

  1. 新建立一个web项目,并导入jar包
    这里写图片描述
    jar包下载
    或者新建一个maven项目,导入以下依赖

    2.建立web入口

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">
    <display-name>helloworld</display-name>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    <servlet>
        <servlet-name>JAX-RS REST Servlet</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.helloworld</param-value>//这里要写自己的存放controller的package
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>JAX-RS REST Servlet</servlet-name>
        <url-pattern>/rest/*</url-pattern>
    </servlet-mapping>
</web-app>

3.编写前端接受参数

package helloworld;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/")
public class Demo {
    @GET
    @Path("{name}")
    @Produces(MediaType.APPLICATION_JSON)//可以返回json,根据前端需求编写
    public String  show(@PathParam("name")String name){
        String str = "{name:\"hello\"}";
        System.out.println(name);
        return str;
    }
}

4.访问
调用 http:localhost:8080/项目名/rest/helloworld
就可以在后台接收到helloworld

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答你的问题。 首先,你需要在 Eclipse 中安装 JavaEE 插件,以便创建 Web 项目。然后,按照以下步骤创建带参数的 RESTful Web 服务并使用 Servlet 调用: 1. 在 Eclipse 中创建一个新的 Dynamic Web 项目。 2. 在 src 文件夹下创建一个新的 Java 类,用于实现 RESTful Web 服务。 3. 在 Java 类中使用 @Path 注解来指定 RESTful Web 服务的访问路径。例如: ```java @Path("/hello") public class HelloService { ... } ``` 4. 在 Java 类中使用 @GET 或 @POST 注解指定 RESTful Web 服务的请求类型,并使用 @PathParam 注解来获取 URL 中的参数。例如: ```java @GET @Path("/{name}") public String sayHello(@PathParam("name") String name) { return "Hello, " + name + "!"; } ``` 5. 在 Java 类中实现 RESTful Web 服务的具体逻辑。 6. 在 Web 项目的 web.xml 文件中配置 Servlet,用于调用 RESTful Web 服务。例如: ```xml <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>com.example.HelloServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping> ``` 7. 在 Servlet 中使用 Java 的 URLConnection 类或第三方的 HTTP 客户端库(如 Apache HttpComponents)来调用 RESTful Web 服务。例如: ```java URL url = new URL("http://localhost:8080/your-web-app/hello/world"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); ``` 这样,你就可以在 Eclipse 中创建一个带参数的 RESTful Web 服务,并使用 Servlet 调用了。希望这个回答对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值