最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。
Cookie is a text file stored on the client computer and retains a variety oftracking information. Java Servlet clearly supports HTTP Cookie.
Identifying the returned user consists of three steps:
The server script sends a set of Cookie to the browser. For example: name, age or identification number, etc.
Browsers store this information on the local computer for future use.
The next time the browser sends any request to the Web server, the browser sends this Cookie information to the server, which the server uses to identify the user.
This chapter shows you how to set or reset Cookie, how to access them, and how to delete them.
Servlet Cookie processing requires encoding and decoding of Chinese as follows:
String str = java.net.URLEncoder.encode("Chinese","UTF-8"); //code String str = java.net.URLDecoder.decode("Encoded string","UTF-8"); // code 2.12.1. Cookie analysis ¶
Cookie is usually set in the HTTP header information (although JavaScript can also set a Cookie directly on the browser). Setting the Servlet of Cookie sends the following header information:
HTTP/1.1 200 OK Date: Fri, 04 Feb 2000 21:03:38 GMT Server: Apache/1.3.9 (UNIX) PHP/4.0b3 Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; path=/; domain=runoob.com Connection: close Content-Type: text/html As you can see, the Set-Cookie header contains a name-value pair, a GMT date, a path, and a field. The name and value are encoded by URL. expires a field is an instruction that tells the browser to “forget” the Cookie after a given time and date.
If the browser is configured to store Cookie, it will retain this information until the expiration date. If the user’s browser points to any page that matches the path and domain of the Cookie, it resends the Cookie to the server. The header information for the browser may be as follows:
GET / HTTP/1.0 Connection: Keep-Alive User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc) Host: zink.demon.co.uk:1126 Accept: image/gif, */* Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: name=xyz Servlet can then use the request method request.getCookies() access Cookie, which returns an array of Cookie objects.
2.12.2. Servlet Cookie method ¶
Serial number | Method & description |
|---|---|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
The following is a list of useful methods that can be used to manipulate Cookie in Servlet.
2.12.3. Set up Cookie through Servlet ¶
Setting up Cookie through Servlet involves three steps:
(1)create a Cookie object: you can call the Cookie constructor with the cookie name and cookie value, both of which are strings.
Cookie cookie = new Cookie("key","value"); Remember that neither the name nor the value should contain spaces or any ofthe following characters:
[ ] ( ) = , " / ? @ : ; (2)set the maximum life cycle: you can use the setMaxAge method to specify cookie the time (in seconds) that can be kept valid. The following will set a maximum validity period of 24 hours cookie .
cookie.setMaxAge(60*60*24); (3)send Cookie to HTTP response header: you can use the response.addCookie to add the Cookie in the HTTP response header, as follows:
response.addCookie(cookie); 2.12.4. Example ¶
Let’s modify our form data instance to set the Cookie for the first and lastname.
package com.runoob.test; import java.io.IOException; import java.io.PrintWriter; import java.net.URLEncoder; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class HelloServlet */ @WebServlet("/HelloForm") public class HelloForm extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public HelloForm() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Create cookies for first and last names Cookie name = new Cookie("name", URLEncoder.encode(request.getParameter("name"), "UTF-8")); // Chinese transcoding Cookie url = new Cookie("url", request.getParameter("url")); // Set the expiration date for two cookies to 24 hours later name.setMaxAge(60*60*24); url.setMaxAge(60*60*24); // Add two cookies to the response header response.addCookie( name ); response.addCookie( url ); // Set response content type response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String title = "Set Cookie Instance"; String docType = "\n"; out.println(docType + "\n" + "" + title + "\n" + "\"#f0f0f0\">\n" + "\"center\">" + title + "\n" + "\n" + " - site name::"
+ request.getParameter("name") + "\n" + " - site URL::"
+ request.getParameter("url") + "\n" + "\n" + ""); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } } Compile the Servlet above HelloForm and in the web.xml create the appropriate entry in the file:
HelloForm com.runoob.test.HelloForm HelloForm /TomcatTest/HelloForm
Finally, try the following HTML page to call Servlet.
-
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