In recent years, a large amount of software development activity has migrated from

tải về 2.32 Mb.
Chế độ xem pdf
Chuyển đổi dữ liệu20.09.2022
Kích2.32 Mb.
  1   2   3   4   5   6   7   8   9   ...   16
Core JSP

In recent years, a large amount of software development activity has migrated from 
the client to the server. The client-centric model, in which a client executes complex 
programs to visualize and manipulate data, is no longer considered appropriate for the 
majority of enterprise applications. The principal reason is deployment—it is a 
significant hassle to deploy client programs onto a large number of desktops, and to 
redeploy them whenever the application changes. Instead, applications are redesigned 
to use a web browser as a "terminal". The application itself resides on the server, 
formatting data for the user as web pages and processing the responses that the user 
fills into web forms. 
If you set out to develop a web application, you need to choose a technology that has 
several important characteristics. You need to generate large amounts of dynamic 
HTML conveniently. You require access to databases and other services. The 
technology must provide an architectural foundation for performance and stability. 
Finally, you must be able to partition your program logic in a way that allows for 
future growth and maintainability. 
The first web applications used the CGI (Common Gateway Interface) mechanism 
and a collection of server-side scripts, typically written in Perl, but occasionally in C, 
Python, PHP or other languages. There are numerous problems with this approach. 
The CGI mechanism does not scale well since every web request spawns a new server 
process. Communication between processes—for example, to share resources such as 
database connections—is extremely awkward to program. And finally, exotic 
programming languages may have their charm but they lack the ability to do the 
"heavy lifting". Features such as database access or security are typically not part of 
the language but supplied by a non-standard third-party library. That puts the 
programmer at the mercy of not only the implementors of the language itself but also 
the providers of various third-party libraries. 
Java programmers have enjoyed the power of servlets for some time, which solves 
many of these problems. Servlets are programmed in Java, a language that is widely 
supported. Java has built-in features for database access, networking, multithreading, 

security, and so on. Each servlet executes in its own thread, thus avoiding the cost of 
generating server processes. Servlets can easily share resources such as session state 
and database connections. The principal disadvantage of servlets is that it is plainly 
tedious to generate HTML. All HTML must be generated programmatically, by 
statements that print all the text and tags. In particular, that means that the pages are 
generated by programmers. We all know what can happen when programmers try 
their hand at web design. 
An increasingly popular approach in recent years has been the use of web server 
scripting languages such as Netscape LiveWire and Microsoft ASP (Active Server 
Pages). With these systems, a programmer embeds code snippets into web pages. The 
pages themselves can be professionally designed by a web designer. The web server 
executes the code snippets when serving the page, inserting the HTML that results 
from the execution of each snippet. The advantage of this approach—and the reason 
for its popularity—is that you can get simple results very quickly. But what looks like 
fun and great productivity early on turns out to be a maintenance nightmare later. 
When you intermingle the presentation (the static parts of the HTML pages) and the 
business logic (the code snippets), it becomes very difficult to change either when the 
need arises. Web designers will not know how how to move the code around when 
redesigning the pages. This makes any redesign a costly affair involving frequent 
interaction between programmers and web designers. Finally, keep in mind that you 
are tied into a particular web server. For example, if you develop your application in 
ASP and later want to use Apache instead of Microsoft IIS, you are stuck. 
The JSP technology that is the topic of this book overcomes these issues. JSP has the 
same advantages as servlets—in fact, JSP pages are servlets. You use the full power 
of the Java language, and not some scripting language, to implement your business 
logic. By using beans, XML transformations, and tag libraries, JSP lets you separate 
the presentation logic and business logic. For example, in a well-structured JSP 
application, you can have the same business logic with multiple interfaces, giving 
your users the choice to use a regular web browsers or a mobile phones that uses 
WAP (the wireless access protocol). 
This book teaches you how to build robust and scalable web applications with JSP. It 
covers the JSP syntax, the features that JSP inherits from servlets such as session 
management, the interaction between servlets and beans, a number of useful Java 
topics such as JDBC (Java Database Connectivity) and XML. Finally, and most 
importantly, you will learn about application partitioning and deployment—these 
subjects make all the difference between a quick hack and a robust application that 
will withstand the test of time. 
Unlike other books, this book takes a properly JSP-centric approach, in accordance 
with the recommendations that Sun Microsystems makes in their Java Enterprise 
blueprints. This is very appropriate and a major strength. Where other books start out 
with servlets and discuss JSP as a second method for web programming, this book 
shows you why JSP pages have a higher position in the food chain. A JSP page can do 
everything a servlet can, but where you have to do a lot of tedious programming and 
organizing when you use servlets, JSP has higher level capabilities that let you focus 
on your business problems instead. 

In the spirit of the Core series, this book contains is plenty of real-world advice that 
you won't find in the online documentation. The authors don't dwell on tedious syntax 
and boring minutiae. Unlike so many computer book authors, they have done the hard 
work and separated the wheat from the chaff. You won't waste time studying features 
that you won't use, but you will find good coverage of those subjects that you actually 
need when building real applications. I am confident you will find this Core book 
truly useful. I hope you enjoy it and have the opportunity to use it for building great 
web applications. 

tải về 2.32 Mb.

Chia sẻ với bạn bè của bạn:
  1   2   3   4   5   6   7   8   9   ...   16

Cơ sở dữ liệu được bảo vệ bởi bản quyền © 2022
được sử dụng cho việc quản lý

    Quê hương