最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。
As discussed in the previous section, when an Web server responds to an HTTPrequest, the response usually includes a status line, some response headers, a blank line, and a document. A typical response is as follows:
HTTP/1.1 200 OK Content-Type: text/html Header2: ... ... HeaderN: ... (Blank Line) ... ... The status line includes the HTTP version (HTTP/1.1 in this case), a status code (200 in this case), and a short message corresponding to the status code (OK in this case).
The following table summarizes the most useful HTTP 1.1 response headers returned to the browser from the Web server side, which you use frequently in Web programming:
Header information | Description |
|---|---|
| This header information specifies the request method supported by the server(GET, POST, and so on). |
| This header information specifies the circumstances under which the responsedocument can be safely cached. Possible values are: public, private, no-cache, etc. Public means that the document is cacheable, Private means that the document is private to a single user and can only be stored in a private(non-shared) cache, and no-cache means that the document should not be cached. |
| This header indicates whether the browser uses a persistent HTTP connection.The value close indicates that the browser does not use a persistent HTTP connection, and the value keep-alive means that a persistent connection is used. |
| This header information allows you to request the browser to ask the user tosave the response to disk with a file with a given name. |
| During transmission, this header information specifies how the page is encoded. |
| This header information represents the language in which the document is written. For example, en, en-us, ru, and so on. |
| This header information indicates the number of bytes in the response. This information is needed only if the browser uses a persistent (keep-alive) HTTP connection. |
| This header information provides the MIME (Multipurpose Internet Mail Extension) type of the response document. |
| This header information specifies when the content expires, after which the content is no longer cached. |
| This header information indicates when the document was last modified. The client can then cache the file and provide a date through the If-Modified-Since request header information in subsequent requests. |
| This header information should be included in all responses with status codes. Within 300s, this notifies the browser of the address of the document. The browser will automatically reconnect to this location and get the new document. |
| This header information specifies how the browser should request an updated page as soon as possible. You can specify the number of seconds to refresh the page. |
| This header information can be used in conjunction with the 503 (Service Unavailable service unavailable) response, which tells the client how long it takes to repeat its request. |
| This header information specifies a cookie associated with the page. |
2.8.1. The method of setting the HTTP response header ¶
The following method can be used to set the HTTP response header in a Servlet program. These methods are passed through HttpServletResponse object is available.
Serial number | Method & description |
|---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
2.8.2. HTTP Header response instance ¶
You have seen in the previous example setContentType() method, the following example uses the same method, in addition, we will use the setIntHeader() method to set the Refresh head.
//Import necessary Java libraries import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/Refresh") //Extend HttpServlet Class public class Refresh extends HttpServlet { // Method for handling GET method requests public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Set the refresh auto load time to 5 seconds response.setIntHeader("Refresh", 5); // Set response content type response.setContentType("text/html;charset=UTF-8"); //Obtain a calendar using default time zone and language environment Calendar cale = Calendar.getInstance(); //Convert Calendar type to Date type Date tasktime=cale.getTime(); //Format date output SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //Format output String nowTime = df.format(tasktime); PrintWriter out = response.getWriter(); String title = "Automatic Refresh Header Settings - Rookie Tutorial Example"; String docType = "\n"; out.println(docType + "\n" + "" + title + "\n"+ "\"#f0f0f0\">\n" + "\"center\">" + title + "\n" + "The current time is:"
+ nowTime + "\n"); } // Method for handling POST method requests public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
The above test examples are located under the TomcatTest project, and the corresponding web.xml configured to:
Refresh com.runoob.test.Refresh Refresh /TomcatTest/Refresh
Now, call the Servlet above, and the current system time will be displayed every 5 seconds. Just run Servlet and wait a moment, and you will see the following result:
-
1. Angularjs2
8
-
1. SVG tutorial
19
-
1. Memcached
20
-
1. C# tutorial
61
-
1. Sqlite
47
-
2. Go
43
-
2. Docker
59
-
2. Vue3
19
-
2. Servlet
21
-
2.23. Servlet internationalization
-
2.11. Servlet exception handling
-
2.2. Servlet introduction
-
2.9. Servlet HTTP status code
-
>
2.8. Servlet server HTTP response
-
2.1. Servlet tutorial
-
2.12. Servlet Cookie processing
-
2.7. Servlet client HTTP request
-
2.14. Servlet database access
-
2.5. Servlet instance
-
3. React
23
-
3. SOAP tutorial
10
-
3. Android
18
-
3. Mongodb
44
-
3. Kotlin
18
-
4. Lua
31
-
4. MySQL tutorial
35
-
4. Appml
12
-
5. Perl
45
-
5. Postgresql
41
-
web
15
-
5. Web Services tutorial
6
-
6. Ruby
42
-
6. Design-pattern
35
-
7. Django
18
-
7. Rust
22
-
6. WSDL tutorial
8
-
8. Foundation
39
-
9. Ios
43
-
8. Css3
26
-
9. Swift
44
-
11. HTML tutorial-(HTML5 Standard)
54
-
12. Http
6
-
13. Regex
6
-
14. Regexp
8
-
1. Introduction to geographic information system
6
-
2. From the Real World to the Bit World
3
-
3. Spatial Data Model
7
-
4. 空间参照系统和 地图投影
5
-
5. Data in GIS
3
-
6. Spatial data acquisition
2
-
7. Spatial Data Management
6
-
8. Spatial analysis
8
-
9. 数字地形模型( DTM )与地形分析
5
-
10. 空间建模与 空间决策支持
6
-
11. Spatial data representation and map making
6
-
12. 3S Integration Technology
5
-
13. 网络地理信息系统
3
-
14. Examples of Geographic Information System Application
8
-
15. Organization and Management of Geographic Information System Application Projects
9
-
16. Geographic Information system Software Engineering Technology
6
-
17. Geographic Information System Standards
3
-
18. Geographic Information System and Society
3
-
19. Earth Information Science and Digital Earth
3