[JavaWEB]Rest学习记录——Jersey学习(2)

来源:互联网 发布:cisco网络案例配置 编辑:程序博客网 时间:2024/04/29 21:35

创建自己的JerseyWebService

POST 实现

 
version : jersey-quickstart-webapp 2.23

run on server :
地址栏

http://localhost:8080/myJerseyTest/

显示index欢迎页面
测试:
地址栏输入web.xml配置的url-pattern/Path

http://localhost:8080/myJerseyTest/webapi/myresource

显示Got it!
项目创建成功!


【部分代码】
*rest.html
模拟用户登录表单

 <form action="/webapi/userlogin/service" name="loginForm" id="loginForm">            用户名:<input type="text" name="username" id="username" value=""/> <br/>            密码:<input type="text" name="password" id="password" value=""/> <br/>            <input type="button" value="提交" onclick="doLogin()" />        </form>        <div id="idResult">            这里显示结果        </div>

向用户登录服务http://localhost:8080/myJerseyTest/webapi/userlogin/postuser发送数据,并输出结果(显示内容取决于POST请求所返回的内容)

        <script type="text/javascript">            function doLogin(){                $.post("http://localhost:8080/myJerseyTest/webapi/userlogin/postuser",{                    username:$("#username").val(),                    password:$("#password").val()                }, function(data) {                    alert("Data Posted: " + data);                    $("#idResult").html(data);                });            }       </script>

提供用户登录服务的类UserLoginRest(部分代码)
URL:http://localhost:8080/myJerseyTest/webapi/userlogin/postuser

@Path("userlogin")public class UserLoginRest implements IRestService {    @POST    @Path("/postuser")    @Produces("text/plain")    public String postTest(@FormParam("username") String username,                             @FormParam("password") String password) {        String user = "username="+username +";  password="+password;        return user;    }}

TIP

Jersey注解
https://docs.oracle.com/cd/E19776-01/820-4867/ggnyk/index.html
http://blog.csdn.net/qq383264679/article/details/50847295

HTTP Method Operations Performed GET Get a resource POST Create a resource and other operations, as it has no defined semantics PUT Create or update a resource DELETE Delete a resource 

http://blog.csdn.net/yehangdx/article/details/7561338?locationNum=8&fps=1

Bean注解说明1.@Path路径信息,表示映射出去的访问路径。范例如下:@Path("/myResource")2. @Produces用于限制post和get方法返回的参数类型,支持json、string、xml、html范例如下:@Produces({"application/xml", "application/json"})3. @Consumes用于限制输入的参数的类型,支持json、string、xml、html范例如下:@Consumes("text/plain")4. @QueryParam通过request传入的参数,可以转换任何有以String为参数的构造函数的类。5.@DefaultValue@DefaultValue表示默认参数。范例如下:@DefaultValue("2") @QueryParam("step")        int step,5. @PathParam @ MatrixParam,@ HeaderParam,@ CookieParam和@ QueryParam FormParam听从以相同的规则。 @ MatrixParam提取URL路径段的信息。 @ HeaderParam提取的HTTP头信息。 @ CookieParam提取信息的Cookie饼干宣布相关的HTTP标头。@ FormParam略有特殊,因为它提取请求表示,该类型匹配前面的@Consumes所声明的类型。范例如下:  @POST  @Consumes("application/x-www-form-urlencoded")  public void post(@FormParam("name")   String name) {6.pojo层面等相关注解,@XmlRootElement,支持JPA注解。7.Spring相关注解,比如@Autowired(required=true) 、@Qualifier("persionDao")、@Component@Scope("request")

jQuery ajax - post() 方法 用法详解
http://www.w3school.com.cn/jquery/ajax_post.asp

例子 1请求 test.php 页面,并一起发送一些额外的数据(同时仍然忽略返回值):$.post("test.php", { name: "John", time: "2pm" } );例子 2向服务器传递数据数组(同时仍然忽略返回值):$.post("test.php", { 'choices[]': ["Jon", "Susan"] });例子 3使用 ajax 请求发送表单数据:$.post("test.php", $("#testform").serialize());例子 4输出来自请求页面 test.php 的结果(HTML 或 XML,取决于所返回的内容):$.post("test.php", function(data){   alert("Data Loaded: " + data); });例子 5向页面 test.php 发送数据,并输出结果(HTML 或 XML,取决于所返回的内容):$.post("test.php", { name: "John", time: "2pm" },   function(data){     alert("Data Loaded: " + data);   });例子 6获得 test.php 页面的内容,并存储为 XMLHttpResponse 对象,并通过 process() 这个 JavaScript 函数进行处理:$.post("test.php", { name: "John", time: "2pm" },   function(data){     process(data);   }, "xml");例子 7获得 test.php 页面返回的 json 格式的内容:$.post("test.php", { "func": "getNameAndTime" },   function(data){     alert(data.name); // John     console.log(data.time); //  2pm   }, "json");

测试

-输入http://localhost:8080/myJerseyTest,进入欢迎页面,点击进入POST测试

-跳转至POST测试页面http://localhost:8080/myJerseyTest/rest1.html
  输入用户名密码

-点击提交按钮,POST数据到指定URL:http://localhost:8080/myJerseyTest/webapi/userlogin/postuser,页面显示返回的响应数据内容:用户所填用户名和密码

0 0