欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

REST 博客分类: JAVA servlet rest 

程序员文章站 2024-03-24 20:17:04
...

       最近一直在看一些关于rest架构的东西,但看来看去还是对一些细节的概念较为模糊。而且网上或论坛博客都没有一个资深的开发人员用过的文章,只是一些简单的增删改的小demo,始终达不到想要的效果。根据我的经验,在一个大的项目里面是很难只用rest架构就能完成。它更适合中小的项目,而且模块之间依赖性很小的那种。因为毕竟不是所有的东西都能被抽象为资源。大家可以参考一下这篇文章http://blog.csdn.net/maoxiang/article/details/4551434这篇文章中的例子完全可一放在项目中作参考使用。他只是把servlet做了简单的封装,很容易理解,感觉没多少技术含量。但你要永远记清一点,rest是一种架构的风格,不是新技术!

这是一个service的写法:

package com.xx.xx.service;

 

import net.sf.json.JSONObject;

 

import com.bayss.ms.common.script.ScriptOperator;

import com.bayss.ms.common.utils.PropertiesUtil;

import com.bayss.rest.IRestRequest;

import com.bayss.rest.IRestResponse;

import com.bayss.rest.IRestService;

import com.bayss.rest.RestException;

 

public class BusinessDataService implements IRestService {

 

public void service(IRestRequest request, IRestResponse response)throws RestException {

String args = "";

String[] value  = request.getHttpRequest().getParameterValues("func");

for(int j = 0;j<value.length;j++){}

String str = value[0];

String[] s = str.split(",");

JSONObject jsonData = new JSONObject();

 

for (int i = 0; i < s.length; i++) {

String func ="";

args=  jsonData.put(s[i], func).toString();

 

}

//返回请求值

response.writeResponse(args);

 

}

 

}

大概就是从url里面取到请求的参数,然后service做处理返回给客户端。

然后在WEB-INF下面添加一个rest.xml,这个xml由RestConfig.java来处理:

<?xml version="1.0" encoding="UTF-8"?>

<rest-config>

<services>

<!-- business -->

<service class="com.xx.xx.service.BusinessDataService">/business/data</service>

</services>

<interceptors>

<interceptor class="com.xx.xx.interceptor.LogInterceptor"></interceptor>

</interceptors>

</rest-config>

添加的url就在<services></services>里面配置,访问的时候就是:localhost:8080/项目名称/business/data

然后就是web.xml的配置:

<!-- rest framework -->

<servlet>

<servlet-name>RestServlet</servlet-name>

<servlet-class>com.xx.rest.support.ServletRestDispatcher</servlet-class>

<init-param>

<param-name>restConfig</param-name>

<param-value>/WEB-INF/rest.xml</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>RestServlet</servlet-name>

<url-pattern>/*</url-pattern>

</servlet-mapping>

就这么简单。不过大家在用的时候还是要在看一遍我开头写的内容!

 

 

 

相关标签: servlet rest