Home Database Mysql Tutorial Restlet 2.2中Restlet类的分析

Restlet 2.2中Restlet类的分析

Jun 07, 2016 pm 03:30 PM
analyze

org.restlet.Restlet 有三个重要的方法: 一、fireContextChanged(Restlet restlet, Context context) 这个方法是在一个Restlet 使用构造函数 Restlet(Context context) 以及调用 setContext()方法的时候被触发的,目的是将当前生产的Restlet实例作为child加

org.restlet.Restlet 有三个重要的方法:


一、fireContextChanged(Restlet restlet, Context context) 

这个方法是在一个Restlet 使用构造函数 Restlet(Context context) 以及调用 setContext()方法的时候被触发的,目的是将当前生产的Restlet实例作为child加到context中。

因为每个restlet 在操作之前,都要把和它相关的 context 放置到当前线程池中,这样实际上就把 restlet 也一起放了进去。在任何需要的地方,可以把context取出,同时也就得到了restlet。


二、createFinder( Class extends org.restlet.resource.ServerResource> resourceClass) 

在很多的子类中都会用到这个方法。当需要把一个resource 绑定/连接 到一个组件上的时候,就需要Finder来封装。

在一个REST 组件上,通过Finder 可以找到 ServerResource 。实际上就是通过Component或者是Application找到对应的资源uri 。


三、public void handle(Request request, Response response)

这个方法本来是Restlet实现的父类Uniform中就的方法,但是由于没有@Override 声明,所以默认的不覆写父类的方法。

这也是为什么Restlet声明为 abstract class 的原因。

这个方法把 response 加入当前线程池 Response,如果有context,则context也进入 Context 当前线程池。

然后,启动这个Restlet 。

如果启动出现异常或者启动失败,则把response的状态设置为系统错误,返回。

返回后,状态服务会检查response的状态,然后向客户端返回相应的代码: 2xx , 3xx ,4xx , 5xx 。


关于返回客户端的错误代码可参见之前的一篇文章,http的状态码说明


http://blog.csdn.net/teamlet/article/details/5713441




Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to implement data statistics and analysis in uniapp How to implement data statistics and analysis in uniapp Oct 24, 2023 pm 12:37 PM

How to implement data statistics and analysis in uniapp 1. Background introduction Data statistics and analysis are a very important part of the mobile application development process. Through statistics and analysis of user behavior, developers can have an in-depth understanding of user preferences and usage habits. Thereby optimizing product design and user experience. This article will introduce how to implement data statistics and analysis functions in uniapp, and provide some specific code examples. 2. Choose appropriate data statistics and analysis tools. The first step to implement data statistics and analysis in uniapp is to choose the appropriate data statistics and analysis tools.

How to use MySQL database for forecasting and predictive analytics? How to use MySQL database for forecasting and predictive analytics? Jul 12, 2023 pm 08:43 PM

How to use MySQL database for forecasting and predictive analytics? Overview: Forecasting and predictive analytics play an important role in data analysis. MySQL, a widely used relational database management system, can also be used for prediction and predictive analysis tasks. This article will introduce how to use MySQL for prediction and predictive analysis, and provide relevant code examples. Data preparation: First, we need to prepare relevant data. Suppose we want to do sales forecasting, we need a table with sales data. In MySQL we can use

How to use Go language for data visualization analysis? How to use Go language for data visualization analysis? Jun 10, 2023 am 10:46 AM

With the advent of the big data era, data visualization analysis plays a vital role in all walks of life. As a fast, efficient and safe programming language, Go language has gradually occupied a place in the field of data visualization analysis. This article will explore how to use Go language for data visualization analysis. 1. Plotly, a commonly used data visualization library in Go language: can be used to create interactive graphics in the browser and supports a variety of graphics types, such as line graphs, bar graphs, scatter plots, heat maps, etc. Gonum/plo

Real-time log monitoring and analysis under Linux Real-time log monitoring and analysis under Linux Jul 29, 2023 am 08:06 AM

Real-time log monitoring and analysis under Linux In daily system management and troubleshooting, logs are a very important data source. Through real-time monitoring and analysis of system logs, we can detect abnormal situations in time and handle them accordingly. This article will introduce how to perform real-time log monitoring and analysis under Linux, and provide corresponding code examples. 1. Real-time log monitoring Under Linux, the most commonly used log system is rsyslog. By configuring rsyslog, we can combine the logs of different applications

Steps of statistical analysis Steps of statistical analysis Jun 28, 2023 pm 03:27 PM

Statistical analysis often refers to the process of sorting, classifying and interpreting collected relevant data. The basic steps of statistical analysis include: 1. Collect data; 2. Organize data; 3. Analyze data.

Analysis of the reasons why the secondary directory of DreamWeaver CMS cannot be opened Analysis of the reasons why the secondary directory of DreamWeaver CMS cannot be opened Mar 13, 2024 pm 06:24 PM

Title: Analysis of the reasons and solutions for why the secondary directory of DreamWeaver CMS cannot be opened. Dreamweaver CMS (DedeCMS) is a powerful open source content management system that is widely used in the construction of various websites. However, sometimes during the process of building a website, you may encounter a situation where the secondary directory cannot be opened, which brings trouble to the normal operation of the website. In this article, we will analyze the possible reasons why the secondary directory cannot be opened and provide specific code examples to solve this problem. 1. Possible cause analysis: Pseudo-static rule configuration problem: during use

ThinkPHP6 code performance analysis: locating performance bottlenecks ThinkPHP6 code performance analysis: locating performance bottlenecks Aug 27, 2023 pm 01:36 PM

ThinkPHP6 code performance analysis: locating performance bottlenecks Introduction: With the rapid development of the Internet, more efficient code performance analysis has become increasingly important for developers. This article will introduce how to use ThinkPHP6 to perform code performance analysis in order to locate and solve performance bottlenecks. At the same time, we will also use code examples to help readers understand better. Importance of Performance Analysis Code performance analysis is an integral part of the development process. By analyzing the performance of the code, we can understand where a lot of resources are consumed

Performance analysis and optimization strategy of TP6 Think-Swoole RPC service Performance analysis and optimization strategy of TP6 Think-Swoole RPC service Oct 12, 2023 am 10:34 AM

Performance analysis and optimization strategies of TP6Think-SwooleRPC service Summary: This article mainly analyzes the performance of TP6 and Think-SwooleRPC services, and proposes some optimization strategies. First, the response time, concurrency and throughput of the RPC service were evaluated through performance testing. Then, corresponding solutions and practices are proposed from two aspects: server-side performance optimization and client-side performance optimization, including code examples. Keywords: TP6, Think-Swoole, R

See all articles