Scripting in Java: Languages, Frameworks, and Patterns (Paperback)
暫譯: Java 腳本編程:語言、框架與模式 (平裝本)

Dejan Bosanac

  • 出版商: Addison Wesley
  • 出版日期: 2007-08-01
  • 定價: $1,980
  • 售價: 6.0$1,188
  • 語言: 英文
  • 頁數: 552
  • 裝訂: Paperback
  • ISBN: 0321321936
  • ISBN-13: 9780321321930
  • 相關分類: Java 程式語言
  • 立即出貨(限量) (庫存=2)

買這商品的人也買了...

相關主題

商品描述

Description

Groovy and Beyond: Leverage the Full Power of Scripting on the JavaTM Platform!

 

Using the JavaTM platform’s new scripting support, you can improve efficiency, streamline your development processes, and solve problems ranging from prototyping to Web application programming. In Scripting in Java, Dejan Bosanac covers key aspects of scripting with Java, from the exciting new Groovy scripting language to Java’s new Scripting and Web Scripting APIs.

 

Bosanac begins by reviewing the role and value of scripting languages, and then systematically introduces today’s best scripting solutions for the Java platform. He introduces Java scripting frameworks, identifies proven patterns for integrating scripting into Java applications, and presents practical techniques for everything from unit testing to project builds. He supports key concepts with extensive code examples that demonstrate scripting at work in real-world Java projects. Coverage includes

 

·        Why scripting languages offer surprising value to Java programmers

·        Scripting languages that run inside the JVM: BeanShell, JavaScript, and Python

·        Groovy in depth: installation, configuration, Java-like syntax, Java integration, security, and more

·        Groovy extensions: accessing databases, working with XML, and building simple Web applications and Swing-based UIs

·        Bean Scripting Framework: implementation, basic abstractions, and usage examples

·        Traditional and new patterns for Java-based scripting

·        JSR 223 Scripting API: language bindings, discovery mechanisms, threading, pluggable namespaces, and more

·        JSR 223 Web Scripting Framework: scripting the generation of Web content within servlet containers

 

About the Web Site

 

All code examples are available for download at this book’s companion Web site.

 

Table of Contents

 PREFACE XVII

 

PART I 1

 

CHAPTER 1 INTRODUCTION TO SCRIPTING 3

 

BACKGROUND 4

DEFINITION OF A SCRIPTING LANGUAGE 8

COMPILERS VERSUS INTERPRETERS 8

SOURCE CODE IN PRODUCTION 12

TYPING STRATEGIES 13

DATA STRUCTURES 17

CODE AS DATA 19

SUMMARY 23

SCRIPTING LANGUAGES AND VIRTUAL MACHINES 24

A COMPARISON OF SCRIPTING AND SYSTEM PROGRAMMING 26

RUNTIME PERFORMANCE 26

DEVELOPMENT SPEED 28

ROBUSTNESS 29

MAINTENANCE 32

EXTREME PROGRAMMING 33

THE HYBRID APPROACH 35

A CASE FOR SCRIPTING 37

CONCLUSION 38

 

CHAPTER 2 APPROPRIATE APPLICATIONS FOR SCRIPTING LANGUAGES 39

 

WIRING 40

UNIX SHELL LANGUAGES 41

PERL 43

TCL 43

PROTOTYPING 44

PYTHON 47

CUSTOMIZATION 49

VISUAL BASIC FOR APPLICATIONS (VBA) 50

SOFTWARE DEVELOPMENT SUPPORT 51

PROJECT BUILDING 51

TESTING 53

ADMINISTRATION AND MANAGEMENT 55

USER INTERFACE PROGRAMMING 58

TK 58

USE CASES 59

WEB APPLICATIONS 59

SCRIPTING AND UNIX 68

SCRIPTING IN GAMES 68

ADDITIONAL CHARACTERISTICS 69

EMBEDDABLE 70

EXTENSIBLE 70

EASY TO LEARN AND USE 71

CONCLUSION 72

 

PART II 75

 

CHAPTER 3 SCRIPTING LANGUAGES INSIDE THE JVM 77

 

UNDER THE HOOD 80

SCRIPTING LANGUAGE CONCEPTS 82

BEANSHELL 83

GETTING STARTED 83

BASIC SYNTAX 86

LOOSELY TYPED SYNTAX 87

SYNTAX FLAVORS 88

COMMANDS 91

METHODS 91

OBJECTS 92

IMPLEMENTING INTERFACES 93

EMBEDDING WITH JAVA 94

JYTHON 98

GETTING STARTED 98

BASIC SYNTAX 101

WORKING WITH JAVA 103

IMPLEMENTING INTERFACES 105

EXCEPTION HANDLING 107

EMBEDDING WITH JAVA 108

CONCLUSION 109

RHINO 110

GETTING STARTED 110

WORKING WITH JAVA 111

IMPLEMENTING INTERFACES 112

JAVAADAPTER 114

EMBEDDING WITH JAVA 114

HOST OBJECTS 117

CONCLUSION 120

GROOVY 120

OTHER SCRIPTING LANGUAGES 122

JRUBY 122

TCL/JAVA 122

JUDOSCRIPT 122

OBJECTSCRIPT 123

CONCLUSION 123

 

CHAPTER 4 GROOVY 125

 

WHY GROOVY? 126

INSTALLATION 127

RUNNING GROOVY SCRIPTS 127

USING THE INTERACTIVE SHELL 127

USING THE INTERACTIVE CONSOLE 128

EVALUATING THE SCRIPT FILE 129

COMPILING GROOVY SCRIPTS 130

DEPENDENCIES 131

CLASSPATH 131

ANT TASK 132

SCRIPT STRUCTURE 133

COMMAND-LINE ARGUMENTS 136

LANGUAGE SYNTAX 137

JAVA COMPATIBILITY 137

STATEMENTS 138

LOOSE TYPING 138

TYPE JUGGLING 140

STRINGS 143

GSTRINGS 145

REGULAR EXPRESSIONS 146

COLLECTIONS 148

LOGICAL BRANCHING 154

LOOPING 156

CLASSES 159

OPERATOR OVERLOADING 162

GROOVYBEANS 165

CLOSURES 168

SYSTEM OPERATIONS 178

FILES 178

PROCESSES 182

EMBEDDING WITH JAVA 184

SECURITY 190

CONCLUSION 194

 

CHAPTER 5 ADVANCED GROOVY PROGRAMMING 195

 

GROOVYSQL 196

groovy.sql.Sql 198

groovy.sql.DataSet 209

GROOVLETS 212

GROOVY TEMPLATES 220

GROOVYMARKUP 223

groovy.xml.MarkupBuilder 224

groovy.util.NodeBuilder 227

groovy.xml.SaxBuilder 230

groovy.xml.DomBuilder 232

groovy.xml.Namespace 234

groovy.util.BuilderSupport 235

GROOVY AND SWING 236

TableLayout 239

TableModel 241

CONCLUSION 243

 

CHAPTER 6 BEAN SCRIPTING FRAMEWORK 245

 

INTRODUCTION TO THE BEAN SCRIPTING FRAMEWORK 246

GETTING STARTED 247

BASIC CONCEPTS 248

ARCHITECTURE 248

REGISTRATION OF SCRIPTING LANGUAGES 249

MANAGER AND ENGINE INITIALIZATION 252

WORKING WITH SCRIPTS 253

WORKING WITH SCRIPT FILES 257

METHODS AND FUNCTIONS 259

call() 259

apply() 263

DATA BINDING 264

REGISTERING BEANS 265

DECLARING BEANS 268

COMPILATION 270

APPLICATIONS 275

JSP 275

XALAN-J (XSLT) 280

CONCLUSION 288

 

PART III 289

 

CHAPTER 7 PRACTICAL SCRIPTING IN JAVA 291

 

UNIT TESTING 292JUNIT BASICS 293

THE GroovyTestCase CLASS 296

ASSERTION METHODS 297

TEST SUITES 300

SCRIPTS AS UNIT TEST CASES 303

SUMMARY 304

INTERACTIVE DEBUGGING 304

BUILD TOOLS (ANT SCRIPTING) 309

BSF SUPPORT 313

GROOVYMARKUP (ANTBUILDER) 316

SUMMARY 322

SHELL SCRIPTING 323

CLASSPATH 324

EXAMPLE 325

ADMINISTRATION AND MANAGEMENT 328

CONCLUSION 334

 

CHAPTER 8 SCRIPTING PATTERNS 335

 

SCRIPTED COMPONENTS PATTERN 337

PROBLEM 337

SOLUTION 338

CONSEQUENCES 339

SAMPLE CODE 340

RELATED PATTERNS 341

MEDIATOR PATTERN (GLUE CODE PATTERN) 341

PROBLEM 341

SOLUTION 342

CONSEQUENCES 345

SAMPLE CODE 345

RELATED PATTERNS 354

SCRIPT OBJECT FACTORY PATTERN 354

PROBLEM 355

SOLUTION 355

CONSEQUENCES 356

SAMPLE CODE 356

RELATED PATTERNS 359

OBSERVER (BROADCASTERS) PATTERN 359

PROBLEM 359

SOLUTION 360

CONSEQUENCES 362

SAMPLE CODE 362

RELATED PATTERNS 369

EXTENSION POINT PATTERN 369

PROBLEM 369

SOLUTION 370

CONSEQUENCES 370

SAMPLE CODE 371

RELATED PATTERNS 374

ACTIVE FILE PATTERN 375

PROBLEM 375

SOLUTION 375

CONSEQUENCES 375

SAMPLE CODE 376

CONCLUSION 380

 

PART IV 383

 

CHAPTER 9 SCRIPTING API 385

 

MOTIVATION AND HISTORY 386

INTRODUCTION 388

GETTING STARTED 390

ARCHITECTURE 391

DISCOVERY MECHANISM 391

ENGINE METADATA 393

CREATING AND REGISTERING SCRIPTING ENGINES 395

CREATION METHODS 396

REGISTRATION METHODS 399

EVALUATION 400

ScriptException 403

BINDING 404

ENGINE SCOPE 405

GLOBAL SCOPE 411

SCRIPT CONTEXT 416

CODE GENERATION 428

OUTPUT STATEMENT 429

METHOD CALL SYNTAX 429

PROGRAM 431

ADDITIONAL ENGINE INTERFACES 432

INVOCABLE 432

COMPILABLE 437

THREADING 440

DYNAMIC BINDINGS 442

CONCLUSION 445

 

CHAPTER 10 WEB SCRIPTING FRAMEWORK 447

 

ARCHITECTURE 448

CONTEXT 448

SERVLET 449

INTERACTION 451

GETTING STARTED 453

CONFIGURATION 456

DISABLE SCRIPTING 456

SCRIPT DIRECTORY 457

SCRIPT METHODS 458

ALLOW LANGUAGES 459

DISPLAY RESULT 460

BINDINGS 462

APPLICATION 462

REQUEST 464

RESPONSE 468

SERVLET 468

INCLUDE METHOD 469

FORWARD METHOD 471

SESSION SHARING 473

LANGUAGE TAGS 478

THREADING ISSUES 481

ARCHITECTURAL CHALLENGES 482

INTEGRATION OF JAVA AND PHP APPLICATIONS 482

JAVA BUSINESS LOGIC IN PHP WEB APPLICATIONS 484

PHP VIEWS IN JAVA WEB APPLICATIONS 487

CONCLUSION 488

 

PART V 489

 

APPENDIX A GROOVY INSTALLATION 491

 

DOWNLOAD INSTRUCTIONS 491

INSTALLING GROOVY 492

CONFIGURING GROOVY 492

TESTING GROOVY 492

 

APPENDIX B GROOVY IDE SUPPORT 495

 

INSTALLATION 495

USAGE 497

 

APPENDIX C INSTALLING JSR 223 499

 

REQUIREMENTS 500

INSTALLATION 500

 

INDEX 503

 

商品描述(中文翻譯)

**描述**

**Groovy 和超越:充分利用 Java™ 平台上的腳本功能!**

利用 Java™ 平台的新腳本支援,您可以提高效率、簡化開發流程,並解決從原型設計到網頁應用程式編程的各種問題。在《Scripting in Java》中,Dejan Bosanac 涵蓋了使用 Java 進行腳本編程的關鍵方面,從令人興奮的新 Groovy 腳本語言到 Java 的新腳本和網頁腳本 API。

Bosanac 首先回顧了腳本語言的角色和價值,然後系統性地介紹了當今 Java 平台上最佳的腳本解決方案。他介紹了 Java 腳本框架,確定了將腳本整合到 Java 應用程式中的成熟模式,並提供了從單元測試到專案構建的實用技術。他用大量的程式碼範例來支持關鍵概念,展示了腳本在實際 Java 專案中的應用。內容包括:

· 為什麼腳本語言對 Java 程式設計師提供意想不到的價值
· 在 JVM 內運行的腳本語言:BeanShell、JavaScript 和 Python
· 深入了解 Groovy:安裝、配置、類似 Java 的語法、Java 整合、安全性等
· Groovy 擴展:訪問資料庫、處理 XML,以及構建簡單的網頁應用程式和基於 Swing 的 UI
· Bean Scripting Framework:實作、基本抽象和使用範例
· Java 基礎的腳本的傳統和新模式
· JSR 223 腳本 API:語言綁定、發現機制、執行緒、可插拔命名空間等
· JSR 223 網頁腳本框架:在 servlet 容器內腳本生成網頁內容

**關於網站**

所有程式碼範例均可在本書的伴隨網站上下載。

**目錄**

前言 XVII
第一部分 1
第一章 腳本介紹 3
背景 4
腳本語言的定義 8
編譯器與解釋器 8
生產中的源代碼 12
類型策略 13
資料結構 17
代碼作為資料 19
總結 23
腳本語言與虛擬機 24
腳本與系統編程的比較 26
執行時性能 26
開發速度 28
穩健性 29
維護 32
極限編程 33
混合方法 35
腳本的案例 37
結論 38

第二章 腳本語言的適用應用 39
接線 40
UNIX Shell 語言 41
Perl 43
TCL 43
原型設計 44
Python 47
自定義 49
Visual Basic for Applications (VBA) 50
軟體開發支援 51
專案構建 51
測試 53
管理與管理 55
用戶介面編程 58
TK 58
用例 59
網頁應用程式 59
腳本與 UNIX 68
遊戲中的腳本 68
附加特性 69
可嵌入 70
可擴展 70
易於學習和使用 71
結論 72
第二部分 75
第三章 JVM 內的腳本語言 77
內部運作 80
腳本語言概念 82
BeanShell 83
入門 83
基本語法 86
鬆散類型語法 87
語法風格 88
命令 91
方法 91
物件 92
實作介面 93
與 Java 嵌入 94
Jython 98
入門 98
基本語法 101
與 Java 一起工作 103
實作介面 105
例外處理 107