cetia4 1.1文档-2.1 Basic Web 访问

Cetia4 REST 框架使用的处理请求的方法类似于现存的protlet规范。在这种模式中,request被分成两类:render request action request。在cetia4框架中,render request 响应 Get http方法的请求; action request 响应postput delete http方法的请求。

 


Render requests REST servlet就是 render 方法。Render 方法可以处理多种请求,在基于web 浏览器的请求中返回htmlxhtml,在web service请求中返回xml。在这一节中,我们将主要生成html回应。

 

Cetia4 REST  servlet ( RestServlet的子类 ) render方法不是继承自父类。实质上,在类的实例化过程中他们被发现。这意味着这些方法必须有一个约定为了便于发现和使用。

 

Rest servlet中,可以有多个render方法,例如下面的一个:

 

package com.example.forum.controller;

import com.acsinet_solutions.cetia4.controller.rest.RestServlet;

import com.acsinet_solutions.cetia4.controller.RenderContext;

public class TopicsServlet extends RestServlet

{

public String render( RenderContext context )

{

return "display_topics";

}

}

render method之所以被识别是因为它是以 "render" 为前缀, 并且返回也java.lang.String值。Render方法的参数是动态性的,但是至少有一个类型为

com.acsinet_solutions.cetia4.controller.RenderContext的参数。

servlet环境中,这个类可以看作是标准的servlet requestresponseconfig( javax.servlet.http.HttpServletRequest等等)对象的综合。

RenderRequest提供了便利的方法访问这些servlet的功能。我们将在后面提供这个接口和方法。

 

Render 方法返回java.lang.String类型的返回值。这个值指示响应客户的在客户端显示的视图。视图可以是绝对路径值( '/'开始 ),或者是相对路径值。

 

• 绝对路径值 例如:“/jsp/display_topics.jsp”指的是一个固定的文件或者资源。不管请求时传统web 浏览器发送来的请求html或者xhtml,或者是web service发送的请求xml,这个将指向统一的视图资源。视图知道如何区分各种的客户端;当然可以在control中实现这个,不推荐这种方式。文档中也没有这方面的例子。

• 相对路径值 象前面的例子的“display_topics”指的是在默认文件夹中有一个默认扩展名的文件。默认的文件路径依赖于servlet的名字,对于web应用来说是以“/WEB-INF/html”开始的(不同于web service),后面是rest servlet的名字。Web请求默认的扩展名是jsp,例如:对于传统的web请求,TopicsServlet的名字是“topics”,如果render方法返回stringdisplay_topics”,那么jsp视图就是/WEB-INF/html/topics/display_topics.jsp。下图展示:

视图文件是一个典型的jsp文件。如果你想测试了上面展示的代码,下面的display_topics.jsp将会展示出来:

<html>

<head><title>Basic GET Request</title></title>

<body>

Hello REST World!

</body>

</html>

前面的介绍render()将会响应GET请求对于基本servlet请求,它会响应这样的url请求http://example.com/forum/topics, 但是却不会响应这样的子资源的请求:例如:http://example.com/forum/topics/234 或者

http://example/forum/topics/235/comments. 如何响应这样的请求将在文档的下面给以介绍。


现在- 如果你实现了TopicsServlet, display_topics.jsp,并且在/WEB-INF/web.xml注册了你的servlet,那么你就可以准备测试他们了。使用你的服务器和端口配置,检查/topics是否可以工作了。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值