دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: اقتصاد ویرایش: 2 نویسندگان: Graeme Rocher. Jeff Brown سری: Expert's Voice in Web Development ISBN (شابک) : 1590599950, 9781430208716 ناشر: Apress سال نشر: 2009 تعداد صفحات: 572 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 6 مگابایت
در صورت تبدیل فایل کتاب The Definitive Guide to Grails به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب راهنمای قطعی Grails نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
ظهور Ruby on Rails نشاندهنده تغییر بزرگی در نحوه ساخت اپلیکیشنهای وب امروزی است. این یک چارچوب فوق العاده با یک جامعه در حال رشد است. با این حال، فضایی برای چنین چارچوب دیگری وجود دارد که به طور یکپارچه با جاوا ادغام می شود. هزاران شرکت در جاوا سرمایه گذاری کرده اند و همین شرکت ها در حال از دست دادن مزایای یک چارچوب مانند Rails هستند. Grails را وارد کنید. Grails فقط یک شبیه سازی Rails نیست. هدف آن ارائه محیطی مانند Rails است که برای توسعه دهندگان جاوا بیشتر آشناست و از اصطلاحاتی استفاده می کند که توسعه دهندگان جاوا راحت از آن استفاده می کنند، و باعث می شود که تنظیم ذهنیت با یک چارچوب پویا کمتر پرش باشد. مفاهیم درون Grails، مانند رهگیرها، برچسبها، و صفحات سرور Groovy (GSP)، باعث میشود افراد جامعه جاوا احساس کنند که در خانه هستند. اساس Grails مبتنی بر فناوریهای منبع باز جامد مانند Spring، Hibernate و SiteMesh است که به آن پتانسیل بیشتری در فضای جاوا میدهد: Spring وارونگی قدرتمند کنترل و MVC را ارائه میکند، Hibernate یک فناوری نگاشت رابطهای شیء پایدار و بالغ را با توانایی ادغام با سیستم های قدیمی، و SiteMesh کنترل طرح بندی انعطاف پذیر و تزئین صفحه را کنترل می کند. Grails این ویژگیها را با ویژگیهای اضافی تکمیل میکند که از الگوی کدگذاری بر اساس قرارداد استفاده میکند، مانند کتابخانههای برچسب پویا، نقشهبرداری رابطهای شی Grails، صفحات سرور Groovy، و داربست. Graeme Rocher، رهبر و بنیانگذار Grails، و Jeff Brown راهنمای معتبر و کاملاً جامع خود را در چارچوب Grails به شما کاملاً بهروز میکنند. از طریق پلاگینها با تمام ویژگیهای اصلی، خدمات و برنامههای افزودنی Grails آشنا میشوید و نقشهایی را که Groovy و Grails در وب در حال تغییر ایفا میکنند، درک خواهید کرد. آنچه می آموزید کشف کنید که چگونه وب در حال تغییر است و نقش زبان Groovy و چارچوب Rails آن را بازی می کند. پلاگینها برای Rich Client و Ajax، سرویسهای وب، عملکرد/ ابزارهای کاربردی، زمانبندی، امنیت، عملکرد، و حتی Persistence ببینید Grails چگونه با چارچوبهای دیگر مانند Spring، Wicket، Hibernate و غیره کار میکند. ایجاد پلاگینهای سفارشی در Grails Who this این کتاب برای همه کسانی است که به دنبال رویکردی چابک تر برای توسعه وب با زبان اسکریپت نویسی پویا مانند Groovy هستند. این شامل تعداد زیادی از توسعهدهندگان جاوا میشود که با افزایش بهرهوری که در چارچوبهایی مانند Ruby on Rails، JRuby on Rails و غیره دیده میشود، فریفته شدهاند. وب و محیط آن برای زبانهایی که به راحتی قابل انطباق و مختصر هستند، مانند Groovy و ... مناسب است. Ruby، و عموماً جامعه توسعه دهندگان علاقه زیادی به پذیرش این زبان ها دارند.
The rise of Ruby on Rails has signified a huge shift in how we build web applications today; it is a fantastic framework with a growing community. There is, however, space for another such framework that integrates seamlessly with Java. Thousands of companies have invested in Java, and these same companies are losing out on the benefits of a Rails–like framework. Enter Grails. Grails is not just a Rails clone. It aims to provide a Rails–like environment that is more familiar to Java developers and employs idioms that Java developers are comfortable using, making the adjustment in mentality to a dynamic framework less of a jump. The concepts within Grails, like interceptors, tag libs, and Groovy Server Pages (GSP), make those in the Java community feel right at home. Grails’ foundation is on solid open source technologies such as Spring, Hibernate, and SiteMesh, which gives it even more potential in the Java space: Spring provides powerful inversion of control and MVC, Hibernate brings a stable, mature object relational mapping technology with the ability to integrate with legacy systems, and SiteMesh handles flexible layout control and page decoration. Grails complements these with additional features that take advantage of the coding–by–convention paradigm such as dynamic tag libraries, Grails object relational mapping, Groovy Server Pages, and scaffolding. Graeme Rocher, Grails lead and founder, and Jeff Brown bring you completely up–to–date with their authoritative and fully comprehensive guide to the Grails framework. You’ll get to know all the core features, services, and Grails extensions via plug–ins, and understand the roles that Groovy and Grails are playing in the changing Web. What you’ll learn Discover how the Web is changing and the role the Groovy language and its Rails framework play Get to know the Grails Project and its domains, services, filters, controllers, views, testing, and plug–ins Experience the availability of plug–ins for Rich Client and Ajax, web services, performance/utilities, scheduling, security, functionality, and even Persistence See how Grails works with other frameworks like Spring, Wicket, Hibernate, and more Create custom plug–ins in Grails Who this book is for This book is for everyone who is looking for a more agile approach to web development with a dynamic scripting language such as Groovy. This includes a large number of Java developers who have been enticed by the productivity gains seen with frameworks such as Ruby on Rails, JRuby on Rails, etc. The Web and its environment is a perfect fit for easily adaptable and concise languages such as Groovy and Ruby, and there is huge interest from the developer community in general to embrace these languages.
Contents......Page 6
About the Authors......Page 17
About the Technical Reviewer......Page 19
Acknowledgments......Page 20
Introduction......Page 22
CHAPTER 1: The Essence of Grails......Page 26
Simplicity and Power......Page 27
Grails, the Platform......Page 28
Living in the Java Ecosystem......Page 29
Getting Started......Page 30
Step 1: Creating the Application......Page 32
Step 2: Creating a Controller......Page 33
Step 4: Testing the Code......Page 35
Step 5: Running the Tests......Page 37
Step 6: Running the Application......Page 38
Summary......Page 40
Creating a Domain......Page 41
Dynamic Scaffolding......Page 43
The Create Operation......Page 45
The Read Operation......Page 47
The Update Operation......Page 49
The Delete Operation......Page 50
Generating a Controller......Page 51
Generating the Views......Page 56
Being Environmentally Friendly......Page 57
Configuring Data Sources......Page 58
The DataSource.groovy File......Page 59
Configuring a MySQL Database......Page 61
Supported Databases......Page 63
Deployment with a WAR file......Page 65
Summary......Page 66
Persisting Fields to the Database......Page 68
Validating Domain Classes......Page 69
Using Custom Validators......Page 72
Understanding Transient Properties......Page 73
Customizing Your Database Mapping......Page 74
Building Relationships......Page 76
Extending Classes with Inheritance......Page 79
Embedding Objects......Page 82
Testing Domain Classes......Page 83
Summary......Page 86
Defining Controllers......Page 87
Setting the Default Action......Page 88
Logging......Page 89
Accessing Request Attributes......Page 90
Using Controller Scopes......Page 92
Understanding Flash Scope......Page 93
Redirecting a Request......Page 95
Creating a Model......Page 97
Selecting a Custom View......Page 98
Performing Data Binding......Page 99
Validating Incoming Data......Page 100
The Errors API and Controllers......Page 101
Data Binding with the bindData Method......Page 102
Data Binding and Associations......Page 103
Defining Command Objects......Page 104
Using Command Objects......Page 105
Taking Advantage of a Declarative Syntax......Page 107
Handling File Uploads......Page 108
Writing a Binary Response......Page 111
Before Advice......Page 112
Testing Controllers......Page 113
Controllers in Action......Page 115
Creating the gTunes Home Page......Page 116
Adding the User Domain Class......Page 117
Adding a Login Form......Page 118
Implementing Registration......Page 119
Testing the Registration Code......Page 122
Allowing Users to Log In......Page 124
Testing the Login Process......Page 126
Summary......Page 128
The Basics......Page 129
Understanding the Model......Page 130
Groovy Scriptlets......Page 131
GSP as GStrings......Page 132
Setting Variables with Tags......Page 133
Logical Tags......Page 134
Iterative Tags......Page 135
Filtering and Iteration......Page 136
Grails Dynamic Tags......Page 138
Linking Tags......Page 139
Creating Forms and Fields......Page 141
Validation and Error Handling......Page 145
Paginating Views......Page 147
Rendering GSP Templates......Page 154
Creating Custom Tags......Page 158
Creating a Tag Library......Page 159
Custom Tag Basics......Page 160
Testing a Custom Tag......Page 161
Summary......Page 163
Understanding the Default URL Mapping......Page 164
Including Static Text in a URL Mapping......Page 165
Embedding Parameters in a Mapping......Page 166
Specifying Additional Parameters......Page 168
Mapping to a View......Page 169
Applying Constraints to URL Mappings......Page 170
Including Wildcards in a Mapping......Page 171
Mapping to HTTP Request Methods......Page 172
Mapping HTTP Response Codes......Page 174
Taking Advantage of Reverse URL Mapping......Page 175
Testing URL Mappings......Page 176
Summary......Page 179
Defining User Messages......Page 180
Retrieving Message Values......Page 182
Using URL Mappings for Internationalization......Page 184
Using java.text.MessageFormat......Page 185
Using the message Tag for Parameterized Messages......Page 186
Using Parameterized Messages for Validation......Page 187
Using messageSource......Page 189
Summary......Page 191
The Basics of Ajax......Page 192
Ajax in Action......Page 194
Changing Your Ajax Provider......Page 195
Asynchronous Form Submission......Page 196
Executing Code Before and After a Call......Page 198
Handling Events......Page 199
Fun with Ajax Remote Linking......Page 200
Ajax-Enabled Form Fields......Page 214
A Note on Ajax and Performance......Page 218
Summary......Page 219
CHAPTER 9: Creating Web Flows......Page 220
Defining the Start State......Page 221
Defining End States......Page 222
Action States and View States......Page 223
Flows, Serialization, and Flow Storage......Page 225
Triggering Events from the View......Page 226
Subflows and Conversation Scope......Page 227
Flows in Action......Page 229
Updating the Domain......Page 230
Updating the View......Page 232
Adding a Start State......Page 233
Implementing the First View State......Page 237
Data Binding and Validation in Action......Page 239
Action States in Action......Page 243
Reusing Actions with Closures......Page 248
Using Command Objects with Flows......Page 252
Dynamic Transitions......Page 256
Verifying Flow State with Assertions......Page 257
Testing Flows......Page 265
Summary......Page 268
Reading Objects......Page 269
Listing, Sorting, and Counting......Page 270
Saving, Updating, and Deleting......Page 271
Associations......Page 272
Relationship Management Methods......Page 273
Querying......Page 274
Dynamic Finders......Page 275
Criteria Queries......Page 277
HQL and SQL......Page 281
Pagination......Page 282
Configuring GORM......Page 283
Specifying a Custom Dialect......Page 284
The Semantics of GORM......Page 285
The Hibernate Session......Page 286
Session Management and Flushing......Page 287
Obtaining the Session......Page 288
Automatic Session Flushing......Page 290
Transactions in GORM......Page 292
The Persistence Life Cycle......Page 294
Reattaching Detached Objects......Page 296
Merging Changes......Page 297
Eager vs. Lazy Associations......Page 298
Batch Fetching......Page 301
Caching......Page 302
Locking Strategies......Page 305
Events Auto Time Stamping......Page 307
Summary......Page 308
Service Basics......Page 309
Services in Action......Page 311
Defining a Service......Page 313
Using a Service......Page 314
Transactions......Page 315
Scoping Services......Page 317
Exposing Services......Page 318
Summary......Page 324
Configuration Basics......Page 325
Configuring Logging......Page 326
Stack Trace Filtering......Page 329
Understanding Grails\' Build System......Page 330
Creating Gant Scripts......Page 332
Command-Line Variables......Page 333
Parsing Command-Line Arguments......Page 334
Documenting Your Scripts......Page 335
Reusing More of Grails......Page 336
Gant in Action......Page 337
Integration with Apache Ant......Page 345
Dependency Resolution with Ivy......Page 347
Code Coverage with Cobertura......Page 350
Continuous Integration with Hudson......Page 351
Adding Support to Your Favorite IDE......Page 355
IntelliJ......Page 356
NetBeans......Page 357
Eclipse......Page 358
TextMate......Page 362
Remote Debugging with an IDE......Page 364
Integration with E-mail Servers......Page 365
Installing the Quartz Plugin......Page 369
Simple Jobs......Page 370
Cron Jobs......Page 371
Scheduling Jobs......Page 374
Adding and Removing Jobs......Page 375
Jobs in Action......Page 376
Deploying to a Container......Page 381
Application Versioning and Metadata......Page 382
Customizing the WAR......Page 383
Populating the Database with BootStrap Classes......Page 384
Summary......Page 385
Plugin Discovery......Page 386
Plugin Installation......Page 388
Creating Plugins......Page 389
Providing Plugin Metadata......Page 390
Supplying Application Artefacts......Page 392
Plugin Hooks......Page 393
Plugin Variables......Page 394
Custom Artefact Types......Page 395
Providing Spring Beans......Page 398
Dynamic Spring Beans Using Conventions......Page 401
Using Metaprogramming to Enhance Behavior......Page 402
Plugin Events and Application Reloading......Page 404
Modifying the Generated WAR Descriptor......Page 407
Packaging and Distributing a Grails Plugin......Page 408
Local Plugin Repositories......Page 409
Plugins to Add Behavior......Page 410
Plugins for Application Modularity......Page 416
Summary......Page 425
SQL or HQL Injection......Page 426
Cross-Site Scripting (XSS)......Page 428
XSS and URL Escaping......Page 430
Denial of Service (DoS)......Page 431
Batch Data Binding Vulnerability......Page 432
Using Dynamic Codecs......Page 433
Authentication and Authorization......Page 435
Grails Filters......Page 436
Authentication Realms......Page 438
Subjects and Principals......Page 439
JSecurity in Action......Page 440
Limiting Access Through URL Mappings......Page 465
Summary......Page 467
CHAPTER 15: Web Services......Page 468
RESTful URL Mappings......Page 469
Content Negotiation with the ACCEPT Header......Page 471
The ACCEPT Header and Older Browsers......Page 475
Content Negotiation with the CONTENT_TYPE Header......Page 476
Content Negotiation Using File Extensions......Page 477
Content Negotiation and the View......Page 478
Marshaling Objects to XML......Page 479
Marshaling Objects to JSON......Page 482
Unmarshaling XML or JSON......Page 485
REST and Security......Page 491
Creating RSS and Atom Feeds......Page 492
RSS and Atom Link Discovery......Page 495
SOAP......Page 497
SOAP Web Services via Plugins......Page 498
Calling SOAP from the Client......Page 501
Summary......Page 504
Spring Basics......Page 505
Dependency Injection and Grails......Page 507
The BeanBuilder DSL......Page 508
Integrating JMS with Spring JMS......Page 516
Mixing Groovy and Java with Spring......Page 531
Summary......Page 534
Legacy Mapping with the ORM DSL......Page 536
Changing Table and Column Name Mappings......Page 537
Changing Association Mappings......Page 538
Understanding Hibernate Types......Page 541
Changing the Database Identity Generator......Page 546
Using Composite Identifiers......Page 548
Mapping with Hibernate XML......Page 549
EJB 3–Compliant Mapping......Page 552
Using Constraints with POJO Entities......Page 558
Summary......Page 560
Groovy and Java: A Comparison......Page 561
What\'s Different?......Page 562
The Basics......Page 563
Language-Level Assertions......Page 564
Groovy Strings......Page 565
Closures......Page 568
Lists, Maps, and Ranges......Page 569
Expando Objects......Page 571
Ranges......Page 572
Everything Is an Object......Page 573
Metaprogramming......Page 577
Understanding Builders......Page 583
Summary......Page 585
A......Page 586
B......Page 589
C......Page 590
D......Page 594
E......Page 597
F......Page 598
G......Page 599
H......Page 603
I......Page 604
J......Page 605
L......Page 606
M......Page 616
O......Page 618
P......Page 620
Q......Page 622
R......Page 623
S......Page 625
T......Page 628
U......Page 630
V......Page 631
W......Page 632
Z......Page 633