Java Web Core Techniques

Java

  • Java basic grammar.
  • Object-oriented programming.
  • Custom annotations. @JsonIgnore.
  • Select appropriate collection data types.
  • Generic programming.
  • Functional programming and stream.
  • Concurrency programming and thread safety.
  • Network programming. Socket, NIO.
  • Internationalization.
  • JVM tuning.
  • Java Security. Encryption, SSL.

Java Data Access

  • Data persistence with ORM.
  • Database transaction. Transaction isolation level.
  • Optimistic and pessimistic locking.
  • User data permission.
  • Page searching.
  • Cascade delete.

Design Patterns

  • Clean code.
  • Design patterns (Singleton, proxy).
  • IoC.
  • AOP.
  • Classes design principles (SOLID).
  • Classes relationships (generalization, aggregation, association).
  • Tests. Unit tests.
  • Logging.

Java Web MVC

  • Controller parameters to Java model.
  • Controller data validation. (To prevent dirty data persistence)
  • Controller exception handling.
  • Encapsulation. (Return message, exception class)
  • Filtering HTTP requests.
  • User authentication and authorization.
  • Web application server lifecycle event listeners.
  • File upload and download.
  • HTTP, HTTPS.
  • Data Privilege. (Backend filter data)
  • Operation Privilege. (Frontend hide buttons. Backend check privileges to allow operations.)

System Business Functions

  • Sign up, sign in, sign out
  • User, role, privilege

Web Frontend

  • General
    • Custom JSP form tags. <form:select>
    • Custom JavaScript functions. proj.confirm(), proj.loading(), proj.getDictLabel(), proj.success(message), proj.openDialog()
    • Prevent form repeat submit.
  • Management System
    • List page
      • Page table list.
      • Tree menu and table list.
      • Search.
      • Delete and batch delete.
    • Add/Edit page
      • Form validation.
      • File upload form.
      • Form submit.
      • Ajax and async request.
      • Events. click(), change().
      • Multiple form input elements related update.
      • One to many add/edit.
      • Form Elements
        • Input text, hidden, password
        • Radio
        • Checkboxes
        • Select
        • File
        • Input Submit, Reset
        • Textarea
        • Rich text editor
        • Date Time picker
        • Multiple Group Select Picker
        • Select Picker with Search
        • Input Tags
  • UI Framework
    • Layout
    • Basic Widgets (Components)
      • Button
      • Form
      • Navigation
      • Tab
    • Widgets (Components)
      • Alert
      • Date picker
      • Table
      • Tree
      • Transfer
    • Icons
    • Themes

Database

  • RDBMS database deisgn.
  • RDBMS indexing.

References