1、大连交通大学 信息工程学院 2013 届本科生毕业设计(论文)外文翻译 1 JSP APPLICATION FRAMEWORKS 1.1 WHAT ARE APPLICATION FRAMEWORKS: A framework is a reusable, semi-complete application that can be specialized to produce custom applications Johnson. Like people, software applications are more alike than they are different. They r
2、un on the same computers, expect input from the same devices, output to the same displays, and save data to the same hard disks. Developers working on conventional desktop applications are accustomed to toolkits and development environments that leverage the sameness between applications. Applicatio
3、n frameworks build on this common ground to provide developers with a reusable structure that can serve as the foundation for their own products. A framework provides developers with a set of backbone components that have the following characteristics: Frameworks are the classic build-versus-buy pro
4、position. If you build it, you will understand it when you are done but how long will it be before you can roll your own? If you buy it, you will have to climb the learning curve and how long is that going to take? There is no right answer here, but most observers would agree that frameworks such as
5、 Struts provide a significant return on investment compared to starting from scratch, especially for larger projects. 1.2 OTHER TYPES OF FRAMEWORKS: The idea of a framework applies not only to applications but to application components as well. Throughout this article, we introduce other types of fr
6、ameworks that you can use with Struts. These include the Lucene search engine, the Scaffold toolkit, the Struts validator, and the Tiles tag library. Like application frameworks, these tools provide semi-complete versions of a subsystem that can be specialized to provide a custom component. Some fra
7、meworks have been linked to a proprietary development environment. This is not the case with Struts or any of the other frameworks shown in this book. You can use any development environment with Struts: Visual Age for Java, JBuilder, Eclipse, Emacs, and Textpad are all popular choices among Struts
8、developers. If you can use it with Java, you can use it with Struts. 1.3 ENABLING TECHNOLPGIES: Applications developed with Struts are based on a number of enabling technologies. These components are not specific to Struts and underlie every Java web application. A reason 大连交通大学 信息工程学院 2013 届本科生毕业设计
9、(论文)外文翻译 2 that developers use frameworks like Struts is to hide the nasty details behind acronyms like HTTP, CGI, and JSP. As a Struts developer, you dont need to be an alphabet soup guru, but a working knowledge of these base technologies can help you devise creative solutions to tricky problems.
10、1.4 HYPERTEXT TRANSFER PROTOCOL (HTTP): When mediating talks between nations, diplomats often follow a formal protocol. Diplomatic protocols are designed to avoid misunderstandings and to keep negotiations from breaking down. In a similar vein, when computers need to talk, they also follow a formal
11、protocol. The protocol defines how data is transmitted and how to decode it once it arrives. Web applications use the Hypertext Transfer Protocol (HTTP) to move data between the browser running on your computer and the application running on the server. Many server applications communicate using pro
12、tocols other than HTTP. Some of these maintain an ongoing connection between the computers. The application server knows exactly who is connected at all times and can tell when a connection is dropped. Because they know the state of each connection and the identity of each person using it, these are
13、 known as stateful protocols. By contrast, HTTP is known as a stateless protocol. An HTTP server will accept any request from any client and will always provide some type of response, even if the response is just to say no. Without the overhead of negotiating and retaining a connection, stateless pr
14、otocols can handle a large volume of requests. This is one reason why the Internet has been able to scale to millions of computers. Another reason HTTP has become the universal standard is its simplicity. An HTTP request looks like an ordinary text document. This has made it easy for applications to
15、 make HTTP requests. You can even send an HTTP request by hand using a standard utility such as Telnet. When the HTTP response comes back, it is also in plain text that developers can read. The first line in the HTTP request contains the method, followed by the location of the requested resource and
16、 the version of HTTP. Zero or more HTTP request headers follow the initial line. The HTTP headers provide additional information to the server. This can include the browser type and version, acceptable document types, and the browsers cookies, just to name a few. Of the seven request methods, GET an
17、d POST are by far the most popular. Once the server has received and serviced the request, it will issue an HTTP response. The first line in the response is called the status line and carries the HTTP protocol version, a numeric status, and a brief description of the status. Following the status lin
18、e, the server will return a set of HTTP response headers that work in a way similar to the request headers. As we mentioned, HTTP does not preserve state information between requests. The 大连交通大学 信息工程学院 2013 届本科生毕业设计(论文)外文翻译 3 server logs the request, sends the response, and goes blissfully on to the
19、 next request. While simple and efficient, a stateless protocol is problematic for dynamic applications that need to keep track of their users. Cookies and URL rewriting are two common ways to keep track of users between requests. A cookie is a special packet of information on the users computer. UR
20、L rewriting stores a special reference in the page address that a Java server can use to track users. Both approaches are seamless, and using either means extra work when developing a web application. On its own, a standard HTTP web server does not traffic in dynamic content. It mainly uses the requ
21、est to locate a file and then returns that file in the response. The file is typically formatted using Hypertext Markup Language (HTML) W3C, HTML that the web browser can format and display. The HTML page often includes hypertext links to other web pages and may display any number of other goodies,
22、such as images and videos. The user clicks a link to make another request, and the process begins a new. Standard web servers handle static content and images quite well but need a helping hand to provide users with a customized, dynamic response. DEFINITION: Static content on the Web comes directly
23、 from text or data files, like HTML or JPEG files. These files might be changed from time to time, but they are not altered automatically when requested by a web browser. Dynamic content, on the other hand, is generated on the fly, typically in response to an individualized request from a browser. 1
24、.5 COMMON GATEWAY INTERFACE (CGI): The first widely used standard for producing dynamic content was the Common Gateway Interface (CGI). CGI uses standard operating system features, such as environment variables and standard input and output, to create a bridge, or gateway, between the web server and
25、 other applications on the host machine. The other applications can look at the request sent to them by the web server and create a customized response. When a web server receives a request thats intended for a CGI program, it runs that program and provides the program with information from the inco
26、ming request. The CGI program runs and sends its output back to the server. The web server then relays the response to the browser. CGI defines a set of conventions regarding what information it will pass as environment variables and how it expects standard input and output to be used. Like HTTP, CG
27、I is flexible and easy to implement, and a great number of CGI-aware programs have been written. The main drawback to CGI is that it must run a new copy of the CGI-aware program for each request. This is a relatively expensive process that can bog down high-volume sites where thousands of requests are serviced per minute. Another drawback is that CGI programs