JaVa
   
<c:forEach> element, 542 <c:if> element, 543 <c:out> element, 542 value attribute, 543 cache control HTTP headers, 666 Cache-Control header, 667 Expires header, 666 If-Modified-Since header, 667 cache location, 633 table of options, 633 Cache-Control header cache control HTTP headers, 667 cacheForSeconds() method, WebContentGenerator class, 671 caching, 245-47, 632 edge site caching, 671 entity bean caching, 246, 300 filters, 246 guidelines for caching, 632 when to cache, 632 where to cache, 633 HTTP headers, 247 improving performance, 632 Java objects, 246 JDO, 246, 317 JSP caching tags, 246 PreparedStatement interface, 324 RDBMS caching, 246 sample app, 247 sample app performace, 646 stateless session beans pseudo-cache, 221 third-party caching products, 637 Coherence, 637 SpiritCache, 637 TopLink, 304 ransactional entity caching, 304 web caching using HTTP, 666 Cactus testing tool, 95-99 Cactus 1.4 servlet test runner, 97 unit testing in web container, 104 web site, 95 CallableStatement interface StoredProcedure class and, 347, 351 callbacks OO design principles summarized, 172 Strategy design pattern, 120 canceled requests testing web specific issues, 100 cascade delete, RDBMS, 259 Castor web site, 242 catch block see checked exceptions. CGI compared to servlets, 443 chainable exceptions exception handling, 130 checked exceptions distributed architecture, 130 exception handling, 125 problems, 126 web sites for discussions, 126 runtime exceptions compared, 328 unchecked exceptions compared, 127 usefulness, 127 class attribute <jsp:useBean> element, 531 Class class, Java.lang package forName() method, 590, 642 getClassLoader() method, 585 getMethods() method, 642 newinstance() method, 642 class code getSQLState() method, SQLException class, 322 SQLStateSQLExceptionTranslater class, 332 class invariants see assertions. class library framework compared, 167 class loading in J2EE, 585 basic concepts, 585 description, 586 EJB class loader, 586 guidelines, 591 integrated enterprise apps and, 587 Java 1.3 extension mechanism, 588 packaging J2EE apps, 585 references to web sites, 592 server and, 590 Servlet 2.3 specification, 588 thread context class loading, 590 WAR class loader, 586 classes see also abstract classes. see also abstract superclasses. see also final classes. see also superclasses. facilitating testing, 91 inner classes, 152 responsibilities, 145 subclasses corrupting superclasses, 153 ClassLoader class, java.lang package, 586 classloader issues deployment, 20 risk management, 70 clean web tier, 447 separating coding from presentation, 447 CleanupFailureDataAccessException class JDBC abstraction framework, 328 client transactions see transaction management. close() method, HttpServletRequestDataBinder class, 506 clusters caching, 245 disadvantages of EJBs, 216 exclusive locking, 301 Observer design pattern, 124 scalability and, 613 state management, 26 web tier session management, 488 CMP (Container-Managed Persistence) BMP alternative, 292 CMP/BMP hybrids and persistence, 299 EJB QL, 298 entity beans, 288, 296, 307 home interface business methods, 295 CMR (Container-Managed Relationships) EJB 2.0 CMP, 297 CMT (Container-Managed Transactions), 382 entity beans, 291 SessionSynchronization, SFSB implementing, 371 transaction attributes allowed, 371 transaction management, 210, 211, 212 using EJBs, 23, 382 EJBContext & sub-interfaces, using, 386 transaction attributes, listing, 382 coarse grained entity beans fine grained alternative, 288 CocoBase description, 316 O/R mapping technologies, 316 code duplication, 167 coding standards, 146 summarized, 176 writing effective tests, 87 code generators choosing development tools, 66 code proliferation checked exceptions, 126 code readability checked exceptions, 126 code reviews, 110 code-level optimization, 614, 638 advantages, 638 avoiding unnecessary optimization, 614 compared to design-level optimization, 614 description, 638 logging, 641 problems with, 615 reflection, 641 synchronization, 641 table of optimization techniques, 639 coding documentation, 158-60 unit testing implications on coding style, 91 coding standards, 142-66 avoiding NullPointerExceptions, 156 code duplication, 146 constants, 148 final keyword, 153 Java coding conventions, 143 JavaSoft coding conventions, 175 literal constants, 147 naming parameters, 144 OO design principles, 114 package protected instance variables, 150 protected instance variables, 150 scoping, 151 summarized, 175 supplementary conventions, 144 visibility, 149 web sites, 143, 144, 145 Coherence caching product, 637 collections arrays usage compared, 157 documentation, 159 summarized, 176 com.interface21.beans package BeansException class, 399 BeanWrapper core interface, methods, 398 infrastructure framework using, 398 com.interface21.beans.factory package, 401 BeanFactory interface, 88, 403 infrastructure framework using, 403 InitializingBean interface, 405 ListableBeanFactory interface, 88, 404 com.interface21.context package appContext interface, 406 appContextAware interface, 481 com.interface21.core package TimeStamped interface, 647 com.interface21.dao package JDBC abstraction framework, 329 com.interface21.jdbc.core package DataSourceUtils class, 336 JDBC abstraction framework, 329, 333 JdbcTemplate class, 334 implementing, 336 using, 340 PreparedStatementCreator interface, 335 PreparedStatementCreatorFactory class, 335 ResultReader interface, 336 RowCallbackHandler interface, 335 RowCountCallbackHandler class, 336 SQLExceptionTranslater interface, 331, 336 SqlParameter class, 344 SQLStateSQLExceptionTranslater class, 332 com.interface21.jdbc.core.oracle package OracleSQLExceptionTranslater class, 332 com.interface21.jdbc.object package calling stored procedures, 350 compared to JDO, 342 JDBC abstraction framework, 333, 342 ManualExtractionSqlQuery class, 345 performing queries, 348 performing updates, 350 RdbmsOperation class, 343 SqlFunction class, 346 SqlOperation class, 344 SqlQuery class, 344, 645 SqlUpdate class, 347 StoredProcedure class, 347 UML diagram, 343 com.interface21.load package, 619 AbstractTest class, 620 BeanFactoryTestSuite class, 621 performance testing, 619 PropertiesTestSuiteLoader class, 621 com.interface21.validation package, 498 BindException, 506 Errors interface, 498 Validator interface, 498 com.interface21.web.bind package HttpServletRequestDataBinder class, 505 com.interface21.web.context package ContextLoaderServlet class, 466, 479 WebappContext interface, 466, 478 com.interface21.web.servlet package ControllerServlet class, 471, 472, 669 FrameworkServlet class, 472 HandlerMapping interface, 470, 473 HttpServletBean class, 472 LastModified interface, 669 ModelAndView class, 470, 475 UrlHandlerMapping class, 473 View interface, 470, 476, 518, 568, 684 ViewResolver interface, 470, 477, 519, 685 com.interface21.web.servlet.mvc package AbstractCommandController class, 480 AbstractController class, 480, 481 Controller interface, 470, 474 FormController class, 480, 500 WebContentGenerator class, 671 com.interface21.web.servlet.mvc.multiaction package InternalPathMethodNameResolver class, 485 MethodNameResolver interface, 485 MultiActionController class, 480, 484, 670 ParameterMethodNameResolver class, 485 PropertiesMethodNameResolver class, 485 com.interface21.web.servlet.view package AbstractView class, 477, 576, 687 InternalResourceView class, 476, 538, 576, 686, 689 RedirectView class, 707 RequestInfo class, 700 ResourceBundleViewResolver class, 477 com.interface21.web.servlet.view.pdf package AbstractPdfView class, 572, 687, 706 com.interface21.web.servlet.view.velocity package VelocityConfigurer class, 692 VelocityView class, 548, 687, 692 com.interface21.web.servlet.view.webmacro package WebMacroView class, 546, 707 com.interface21.web.servlet.view.xmlc package AbstractXmlcView class, 568, 687, 704 XmlcConfigServlet class, 703 com.interface21.web.servlet.view.xslt package FormatHelper class, 556, 700 XsltView class, 476, 555, 686, 697 com.interface21.web.tags package DomifyTag class, 554 Command design pattern encapsulating multiple parameters, 125 Front Controller pattern and, 455 MVC web frameworks and, 457 WebWork and, 463 Command interface, 375 EJB Command, implementing using SLSB, 375 example, 376 execute() method, 375 CommandBase class, org.infohazard.maverick.flow package, 462 CommandExecutor interface, 375 EJB Command, implementing using SLSB, 375 example, 375 executeCommand() method, 375 commands see also Command/~Executor/EJB Command. using without EJB Command, 378 example, 379 using, business interfaces, 430 comments see documentation. Common Gateway Interface see CGI. complexity avoiding, 17 distributed architecture, 18 EJBs with local interfaces, 224 singletons, 139 using EJBs, 21, 24 component interface & bean implementation class, synchronizing, 386 bean class implementing interface, disadvantages, 386 business methods interface ‘pattern’, using, 386 components app component deployment, 18 decoupling components, 122 integration testing, 92 OO design principles summarized, 174 using EJBs, 22 Composite Entity pattern, 290 concrete inheritance common mistakes, 116 interface inheritance, 115 Template Method design pattern, 117 concrete test cases, 87 implementation example, 90 concurrency database locking, 302 concurrent calls SFSB (stateful session beans) protecting from, 371 concurrent programming using EJBs, 23 conf sub-directory, JBoss server, 601 CONFIG log level constant, 163 configuration context object, 140 declarative configuration management, 214 performance and scalability problems, 630 singletons, 139 confirm reservation screen sample app user interface,, 196 Connection interface compared to DataSource interface, 340 connection pooling container support, 24 connection pools, creating deploying apps, 597 sample app, 602 JMX MBeans, 602 Oracle connection pool, 602 constants coding standards, 148 constraints, RDBMS, 259 container services, avoiding use addressing performance and scalability problems, 631 Container-Managed Persistence see CMP Container-Managed Relationships see CMR. containers BMP/CMP hybrids and persistence, 300 preferred to SFSBs, sample app state holding, 389 using EJBs, 20, 21 content page inclusion description, 575 JSP views, 575 view composition, 575 context class loading see thread context class loading. context object see app registry. context object, Velocity, 547 ContextLoaderServlet class, com.interface21.web.context package, 466, 479 configuring in web.xml, 479 control flow MVC example, 452 sample app, 469 Controller interface, com.interface21.web.servlet.mvc package, 470, 474 handleRequest() method, 470, 474 Controller interface, org.infohazard.maverick.flow package, 461 controller objects, MVC, 449 controller implementation example, 481 exposing bean properties, 482 multi action controller, 484 decoupling controllers and views, 517, 684 description, 449 request controllers, 457 controller servlet, MVC, 36, 456 ControllerContext interface, org.infohazard.maverick.flow package, 462 setModel() method, 462 ControllerServlet class, com.interface21.web.servlet package, 471, 472 configuring in web.xml, 472 <servlet mapping> element, 472 revalidation, 669 cookies problems with, 490 web tier session management, 490 costs choosing app server, 45, 50, 54 CreateException app exception, javax.ejb, 381 CTS (Compatibility Test Suite) choosing app server, 48 currency() method, FormatHelper class, 701 currentThread() method, Thread class, 590 custom bean definitions, 405, 436 BeanFactory supporting, 405 business logic, implementing, 436 JdbcCalendar/Caching~ classes, 436 JmsListenerBeanDefinition class, 436 LocalStatelessSessionProxyBeanDefinition class, 436 TicketController class, 437 setBoxOffice/~Calendar() method, implementing, 437 example, 406 mechanism, 405 custom security managers, 237 custom serialization care in using, 662 Externalizable interface, 661 optimizing serialization to move data efficiently, 660 readObject() method, 661 writeObject() method, 661 custom tags, JSP, 446, 479, 532 advantages, 532 data binding, 494 disadvantages, 532 guidelines for using custom tags, 536 <i21:bind> element, 495 <i21:hasBindErrors> element, 495 implementing custom tag libraries, 535 improving error messages, 495 Jakarta TagLibs, 535 JSP views, 533 view helpers, 533 JSTL, 533 MVC web frameworks, 533 using XSLT with JSP custom tags, 554 Velocity, 547 custom types calling stored procedures using JDBC, 359 custom views, 708
JaVa
   
Comments