Apache Struts 2 Web Application Development
- Autorzy:
- Dave Newton, Brian Fitzpatrick
- +84 pkt
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 384
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Apache Struts 2 Web Application Development
The book begins with a comprehensive look at Struts 2.1 basics, interspersed with detours into more advanced development topics. You'll learn about configuring Struts 2.1 actions, results, and interceptors via both XML and Java annotations. You'll get an introduction to most of the Struts 2.1 custom tags and learn how they can assist in rapid application prototyping and development.
From there you'll make your way into Struts 2.1's strong support for form validation and type conversion, which allows you to treat your form values as domain objects without cluttering your code. A look at Struts 2.1's interceptors is the final piece of the Struts 2.1 puzzle, allowing you to leverage the standard Struts 2 interceptors as well as implement your own custom behavior.
After covering Struts 2.1 you'll journey into the world of JavaScript, a surprisingly capable language, the Document Object Model (DOM), and CSS, and learn how to create clean and concise client-side behavior. You'll leverage that knowledge as you move on to Struts 2 themes and templates, which give you a powerful way to encapsulate site-wide user interface behavior.
The book closes with a look at some tools that make the application development life cycle easier to manage, particularly in a team environment, and more automatic.
Wybrane bestsellery
-
Discover the potential of ChatGPT, harness cloud platforms for security and scalability, maximize the efficiency of your AI apps, and explore industry use cases to gain practical insights with the help of Generative AI for Cloud Solutions.
Generative AI for Cloud Solutions. Architect modern AI LLMs in secure, scalable, and ethical cloud environments Generative AI for Cloud Solutions. Architect modern AI LLMs in secure, scalable, and ethical cloud environments
-
This book offers extensive practice questions, meticulously arranged to prepare you for A+ Core 1 and Core 2 exams, ensuring you’re fully ready. The questions are evenly distributed based on the significance of each exam domain.
CompTIA A+ Practice Tests Core 1 (220-1101) and Core 2 (220-1102). Pass the CompTIA A+ exams on your first attempt with rigorous practice questions CompTIA A+ Practice Tests Core 1 (220-1101) and Core 2 (220-1102). Pass the CompTIA A+ exams on your first attempt with rigorous practice questions
-
Linux system administration is a constantly evolving field that can be hard for newcomers to navigate. This book takes you from the basics to the modern Linux environment, covering enterprise features such as centralized authentication, automation with Chef, clustering, and much more.
Linux for System Administrators. Navigate the complex landscape of the Linux OS and command line for effective administration Linux for System Administrators. Navigate the complex landscape of the Linux OS and command line for effective administration
-
Ever wonder why speech recognition systems don't understand the Scottish accent, or what would happen if an astronaut only ate mac 'n' cheese, or other spurious reflections you'd have at a bar? We did, then collated those deliberations into absurd research articles with fake figures and methodolo...
Et al. Because not all research deserves a Nobel Prize Et al. Because not all research deserves a Nobel Prize
-
Every organization wants an agile, performant, and cost-effective data platform that meets all their current and future business needs. Purpose-built AWS analytics services and their features play a big part in building such a modern data platform. This book brings to you all the design and archi...
Modern Data Architecture on AWS. A Practical Guide for Building Next-Gen Data Platforms on AWS Modern Data Architecture on AWS. A Practical Guide for Building Next-Gen Data Platforms on AWS
-
Ruby on Rails is an open-source framework for building web applications from scratch and develop a full-featured product. This book helps you keep the code maintainable while working on a Rails application by demonstrating the useful design patterns and exploring the common code abstractions.
Layered Design for Ruby on Rails Applications. Discover practical design patterns for maintainable web applications Layered Design for Ruby on Rails Applications. Discover practical design patterns for maintainable web applications
-
Explore mathematical concepts and approaches to modeling, alongside machine learning techniques, to understand the relevance of models in solving business problems. This book covers various models, tools to uncover meaningful insights, and the perfect blend of machine learning and mathematical mo...
A Handbook of Mathematical Models with Python. Elevate your machine learning projects with NetworkX, PuLP, and linalg A Handbook of Mathematical Models with Python. Elevate your machine learning projects with NetworkX, PuLP, and linalg
-
Strategizing Continuous Delivery in Cloud will help you work on CI/CD and cloud-native together ensuring that your teams can operate in different types of cloud environments. You’ll be capable of releasing more efficient software by upgrading and modernizing continuous delivery.
Strategizing Continuous Delivery in the Cloud. Implement continuous delivery using modern cloud-native technology Strategizing Continuous Delivery in the Cloud. Implement continuous delivery using modern cloud-native technology
O autorze ebooka
Dave Newton, Brian Fitzpatrick - pozostałe książki
-
Spring Roo is an easy-to-use productivity tool for rapidly developing Java enterprise applications using well-recognized frameworks such as Spring, Hibernate, AspectJ, Spring Web Flow, Spring Security, GWT, and so on. Spring Roo takes care of creating maven-enabled projects, enterprise applicatio...
Spring Roo 1.1 Cookbook. Over 60 recipes to help you speed up the development of your Java web applications using the Spring Roo development tool Spring Roo 1.1 Cookbook. Over 60 recipes to help you speed up the development of your Java web applications using the Spring Roo development tool
-
Apache Open For Business (OFBiz) is an enterprise resource planning (ERP) system that provides a common data model and an extensive set of business processes. But without proper guidance on developing performance-critical applications, it is easy to make the wrong design and technology decisions....
Apache OfBiz Cookbook. Over 60 simple but incredibly effective recipes for taking control of OFBiz Apache OfBiz Cookbook. Over 60 simple but incredibly effective recipes for taking control of OFBiz
-
Apache Roller enables you to build a fully-featured, multi-user blog server apt for all kinds of blogging sites. It is an ideal tool to create your own blogging network with unlimited users and blogs, forums, photo galleries, and more! While it is exciting to have a list of interesting features i...
Apache Roller 4.0 - Beginner's Guide. A comprehensive, step-by-step guide on how to set up, customize, and market your blog using Apache Roller Apache Roller 4.0 - Beginner's Guide. A comprehensive, step-by-step guide on how to set up, customize, and market your blog using Apache Roller
-
While Tomcat is one of the most popular servlet containers, its inner workings still remain a mystery to many developers. If you only have a superficial familiarity of how this container actually functions, much of its power remains untapped and underutilized. This book will provide you with all ...
Tomcat 6 Developer's Guide. Understanding how a servlet container actually works will add greatly to your Java EE web programming skills, and this comprehensive guide to Tomcat is the perfect starting point Tomcat 6 Developer's Guide. Understanding how a servlet container actually works will add greatly to your Java EE web programming skills, and this comprehensive guide to Tomcat is the perfect starting point
-
Developing powerful web applications with clean, manageable code makes the maintenance process much easier. Aspect-Oriented Programming (AOP) is the easiest and quickest way to achieve such results. Spring is the only Java framework to offer AOP features. The combined power of Spring and AOP give...
Spring 2.5 Aspect Oriented Programming. Create dynamic, feature-rich, and robust enterprise applications using the Spring framework Spring 2.5 Aspect Oriented Programming. Create dynamic, feature-rich, and robust enterprise applications using the Spring framework
Massimiliano Dess?É?íÂ!¨, Brian Fitzpatrick, Massimiliano Dessi
-
As a busy administrator, you know Spam is a major distraction in todays network. The effects range from inappropriate content arriving in the mailboxes up to contact email addresses placed on a website being deluged with unsolicited mail, causing valid enquiries and sales leads to be lost and was...
SpamAssassin: A practical guide to integration and configuration. In depth guide to implementing antispam solutions using SpamAssassin SpamAssassin: A practical guide to integration and configuration. In depth guide to implementing antispam solutions using SpamAssassin
-
Tapestry 5: Building Web Applications. A step-by-step guide to Java Web development with the developer-friendly Apache Tapestry framework Tapestry 5: Building Web Applications. A step-by-step guide to Java Web development with the developer-friendly Apache Tapestry framework
Ebooka "Apache Struts 2 Web Application Development" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Apache Struts 2 Web Application Development" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Apache Struts 2 Web Application Development" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Apache Struts 2 Web Application Development.
- ISBN Ebooka:
- 978-18-471-9340-7, 9781847193407
- Data wydania ebooka:
- 2009-06-15 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku Pdf:
- 5.1MB
- Rozmiar pliku ePub:
- 854.5kB
- Rozmiar pliku Mobi:
- 2.4MB
Spis treści ebooka
- Apache Struts 2 Web Application Development
- Table of Contents
- Apache Struts 2 Web Application Development
- Credits
- About the Author
- Acknowledgement
- About the Reviewers
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code for the book
- Errata
- Piracy
- Questions
- 1. Struts and Agile Development
- Struts 2 in a nutshell
- The filter dispatcher
- Interceptors
- Actions
- Results
- Plug-ins
- Struts 2 in a nutshell
- Agile in a nutshell
- User stories
- Testing
- Refactoring
- Short iterations
- Real applications in a nutshell
- Making it pretty
- JavaScript
- Documentation
- All of the rest
- Getting started
- Creating our own applications
- Doing it "by hand"
- Using Maven
- Creating our own applications
- Summary
- 2. Basic Configuration
- Setting up our environment
- A sanity-checking application
- Configuring web.xml for Struts 2
- Writing our first action
- Configuring our first action with XML
- Configuring our result
- Choosing an action method
- Setting up our environment
- Getting started with our application
- Gathering user storiesdefining our application
- Building skeletal applications using wildcards
- Matching multiple wildcards
- More wildcard tricks
- Packages and namespaces
- Creating site navigation
- Including external configuration files
- Our application so far
- Examining our configuration
- Configuration via convention and annotations
- The Convention Plug-in and action-less actions
- The Convention Plug-in and action configuration
- Configuring the Convention Plug-in with annotations
- Summary
- 3. Actions and ActionSupport
- ActionSupport and its interfaces
- The Action interface
- Actions convenience strings
- The Action interface
- The TextProvider interface
- Detouraction properties, JSPs, and more tags
- Continuing with message lookup
- Parameterized messages
- The LocaleProvider interface
- The Validateable and ValidationAware interfaces
- ActionSupport and its interfaces
- Implementing our first user story
- Refining our story
- Creating the recipe form
- Adding some validation
- Displaying our error messages
- More action interfaces
- Detourcreating the list of interfaces to explore
- Leveraging the IDE
- Using the command line
- Examining class files
- Detourcreating the list of interfaces to explore
- Additional action interfaces
- Preparable interface
- Accessing scoped attributes (and request parameters)
- Accessing servlet objects
- Request parameter/action property filtering
- Summary
- 4. Results and Result Types
- The dispatcher result type
- The redirect result type
- The redirectAction result type
- The chain result type (action chaining)
- The parse parameter and a usecase detour
- Displaying the form
- Coding our action
- Configuring our success result
- Type conversion sneak attack
- Coding the show action
- The FreeMarker and Velocity result types
- FreeMarker result configuration
- The XSLT result type
- The plaintext result
- The stream result
- The httpheader result
- The Tiles and JasperReports results
- Creating custom result types
- Configuring our custom result type
- Writing the action
- Implementing our markdown result type
- Summary
- 5. OGNL, the Value Stack, and Custom Tags
- OGNL
- Contents of the value stack and the <s:property> tag
- Escaping values
- Default values
- Escaping values for JavaScript
- Contents of the value stack and the <s:property> tag
- Other value stack objects and the debug tag
- A dirty EL trick
- OGNL
- The <s:set> tag
- Calling static methods from OGNL
- Conditionals
- Collections and iteration
- The <s:iterator> tag
- Tracking iteration status
- CSS detour: Alternating table row background color
- The <s:generator> tag
- It's not a list, it's an iterator!
- Silent death
- Another potential stumper (Struts 2.0 only)
- What is <s:generator> for?
- The <s:iterator> tag
- The <s:append> tag
- The <s:merge> tag
- The <s:subset> tag
- Arbitrary filtering with the <s:subset> tag
- Dirty OGNL secrets
- The <s:sort> tag
- Are the collection tags useful?
- Referencing other pages and actions
- The <s:include> tag
- The <s:action> tag
- The <s:url> tag
- Summary
- 6. Form Tags
- Form tag basics
- The "xhtml" theme in a nutshell
- The <s:head> tag
- The <s:form> tag
- Common input element tag attributes
- Values, labels, and names (and keys)
- All the rest
- Basic rendering
- But I don't want tables
- Form tag basics
- Basic form input elements
- The <s:textfield>, <s:password>, and <s:hidden> tags
- The <s:textarea> tag
- The <s:label> tag
- The <s:radio> tag
- The <s:checkbox> tag
- The <s:checkboxlist> tag
- Using the <s:checkboxlist> tag to implement a user story
- The <s:select> tag
- The <s:optgroup> tag
- The <s:submit> tag
- The <s:reset> tag
- Combination form tags
- <s:combobox> tag
- The <s:updownselect> tag
- The <s:optiontransferselect> tag
- The <s:doubleselect> tag
- Uploading files
- Preventing double submits with the <s:token> tag
- Summary
- 7. Form Validation and Type Conversion
- Form validation
- Manual validation
- Configuring XML validation
- Customizing validation messages
- What validations are available?
- The requiredstring validator
- The stringlength validator
- Detourplaying games with validation messages
- The required and int validators
- But wait, there's more
- The double validator
- The email validator
- The url validator
- The date validator
- The regex validator
- The expression and fieldexpression validators
- Combining validation methods
- The conversion validator
- The visitor validator
- Form validation
- Configuring validation with annotations
- The @Validation annotation
- The @Validations annotation
- The @SkipValidation annotation
- The @RequiredFieldValidator annotation
- The @IntRangeFieldValidator annotation
- The @DoubleRangeFieldValidator annotation
- The remaining validation annotations
- Client-side validation
- Custom validators
- Type conversion
- The problem
- The solution
- Defining our own converters
- Type conversion usecasetrimmed BigDecimals
- Configuring conversion across the entire application
- Custom type conversion is handy
- Collections
- Usecaseadding a list of ingredients
- Why add addIngredient()?
- Usecaseadding a list of ingredients
- Updating our new recipe form
- Map-based collections
- Summary
- 8. Interceptors
- The basics
- Configuring interceptor stacks
- Configuring interceptors
- Configuring interceptors for individual actions
- How interceptors work
- The basics
- Interceptors in the default stack
- The exception interceptor
- The alias interceptor
- The servletConfig interceptor
- The prepare interceptor
- The i18n interceptor
- The chain interceptor
- The debugging interceptor
- The profiling interceptor
- The scopedModelDriven interceptor
- The modelDriven interceptor
- Getting back to the scopedModelDriven interceptor
- The fileUpload interceptor
- The checkbox interceptor
- The staticParams interceptor
- The params interceptor
- Ordered parameters and ad hoc factory patterns
- The conversionError interceptor
- The validation interceptor
- The workflow interceptor
- Other important interceptors and interceptor stacks
- The token interceptor
- The store interceptor
- The roles Interceptor
- The clearSession interceptor
- The paramsPrepareParamsStack interceptor stack
- Writing our own interceptors
- The trim interceptor
- Configuring the trim interceptor
- The Test Action
- Testing the trim interceptor
- Modifying application flow with interceptors
- Configuring the result
- Writing the ResultMappingInterceptor
- Writing the ResultMappingInterceptor and making it work
- Summary
- 9. Exceptions and Logging
- Handling exceptions in Struts 2
- Global exception mappings
- Action-specific exception mappings
- Accessing the exception
- Architecting exceptions and exception handling
- Checked versus unchecked exceptions
- Application-specific exceptions
- Abstracting underlying exceptions
- Handling exceptions
- Handling exceptions in Struts 2
- Logging
- Introduction to logging
- Using the loggers
- Configuring the loggers
- Introduction to logging
- Summary
- 10. Getting Started with JavaScript
- Introduction to JavaScript
- Playing with JavaScript
- Introduction to JavaScript
- Minor syntax and language notes
- Unicode
- Whitespace
- Semicolons
- Null and undefined values
- The equal and strict equal operators
- The logical OR operator
- Variables and scoping
- JavaScript data types
- Numbers
- Decimal, hex, octal
- Conversions
- Numbers
- Strings
- Length and conversions
- Conversions to other types
- JavaScript data types
- Arrays
- Array functions
- Exception handling
- Introduction to JavaScript objects and OOP
- Open objects and object augmentation
- Object values can be functions
- Object maker functions
- Functions
- Function parameters
- Some trickery
- Function parameters
- Inner functions
- Closures
- Introduction to JavaScript classes
- Creating classes
- Variable and function access
- JavaScript's "this" keyword
- Creating classes
- Prototypes
- JavaScript modules and OOP
- Creating a namespace
- Summary
- 11. Advanced JavaScript, the DOM, and CSS
- The importance of markup
- ID or style attribute?
- Dressing up our form
- JavaScript modules and jQuery
- Adding onclick handlers
- Using a function builder
- Of what value is this
- Using a function builder
- Accessing module data
- The final trick
- The importance of markup
- Adding dynamic form elements
- Identifying where to add the elements
- The JavaScript "Recipe" module
- Summary
- 12. Themes and Templates
- Extracting the templates
- A maze of twisty little passages
- Creating our theme
- Other uses of templates
- Summary
- 13. Rich Internet Applications
- What this chapter is and isn't
- Dojo tags
- Simple use cases really are simple
- The Dojo <sx:head> tag
- The Dojo <sx:a> tag
- A brief side journey on topics
- The Dojo <sx:div> tag
- Finishing our user story
- Highlighting the need to know
- Dojo and forms
- The REST plug-in
- REST in a nutshell
- The REST plug-in in a nutshell
- REST plug-in URLs
- REST plug-in results
- A web browser client example
- The REST controller
- REST controller responses
- An example of a useful client
- A command-line example
- Custom content handler example
- YAML in a nutshell
- Writing our YAML handler
- Configuring our YAML handler
- Handling our YAML
- Summary
- 14. Comprehensive Testing
- Test-driven development
- Pay as we go
- Test-driven development
- Unit testing
- Unit tests focus code intent
- Keep tests small
- Test, code, refactorthe "heartbeat" of TDD
- JUnit
- Revisiting our iterator filter
- The test environment
- The initial test stub
- Testing vowel recognition
- Testing non-string parameter exceptions
- Test granularity and test setup
- TestNG
- Legacy code and unit testing
- Simple action testing
- Detour: Dependency Injection (Inversion of Control)
- Dependency Injection helps us test
- Detour: Struts and Spring in a nutshell
- Spring web.xml configuration
- Spring context configuration file
- Testing Struts 2 in context
- Testing a Struts interceptor
- Client-side (functional) testing
- Selenium
- Selenium RC
- The test scenario
- Our first Selenium test
- Selenium
- Other forms of testing
- Acceptance testing
- Load testing
- Load testing with JMeter
- Recovery testing
- Summary
- 15. Documenting our Application
- Documenting Java
- Self-documenting code
- Document why, not what
- Make your code read like the problem
- Contract-oriented programming
- SpringContracts
- Getting into details
- Self-documenting code
- Javadocs
- Always write Javadocs!
- The first sentence
- Add information beyond the API name
- Write for multiple formats
- Generating targeted Javadocs
- Visibility
- The -exclude argument
- The -use argument
- Creating new Javadoc tags with the -tag argument
- Never write Javadocs!
- Never write inline Java comments!
- Documenting Java
- Using UML
- Package diagrams
- Class diagrams
- Sequence diagrams
- Documenting web applications
- High-level overviews
- Documenting JSPs
- Documenting JavaScript
- Documenting interaction
- More UML and the power of scribbling
- Don't spend so much time making pretty pictures
- User documentation
- Documenting development
- Source code control systems
- Code and mental history
- Commit comment commitment
- When (and what) do we commit
- Branching
- Branching discipline
- Source code control systems
- Issue and bug management
- Linking to the SCCS
- Wikis
- RSS and IRC/chat systems
- Word processor documents
- Summary
- Index
Packt Publishing - inne książki
-
API Security for White Hat Hackers is a comprehensive guide that simplifies API security by showing you how to identify and fix vulnerabilities. From emerging threats to best practices, this book helps you defend and safeguard your APIs.
API Security for White Hat Hackers. Uncover offensive defense strategies and get up to speed with secure API implementation API Security for White Hat Hackers. Uncover offensive defense strategies and get up to speed with secure API implementation
(92.88 zł najniższa cena z 30 dni) -
Hone your machine learning skills to unlock robust models with less data through active machine learning. Tame messy datasets, conquer concept drift, and drive ML productivity with Python's active learning toolkit.
Active Machine Learning with Python. Refine and elevate data quality over quantity with active learning Active Machine Learning with Python. Refine and elevate data quality over quantity with active learning
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Apache Struts 2 Web Application Development Dave Newton, Brian Fitzpatrick (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.