web application, 71
accessing JSP, 75
helloworld.jsp., 73
running server applications, 74
Java Virtual Machine (JVM), 1
languages, 2
designed for, 2
functional gradation of, 3
web frameworks, 11
Java Web Frameworks, 10
JAX-RS, 40
JAX-WS, 40
JRuby, 4
JSF EL expressions, 265
JSP Standard Tag Library (JSTL), 128
core tag library, 129
conditionals, 135
functional areas, 130
general-purpose actions, 130
looping and iteration, 138
URL-related actions, 141
tag libraries, 128
Jython, 4
■ L
LESS, 38
Literals, 110
Logical operators, 113–114
Looping and iteration
Loose coupling, 158
■ M, N
Mashups, 39
Maven, 169, 214
actionPackages Init Parameter, 183
archetype parameters specification, 172–173
archetypes selection, 172
build process, 170
directory structure of HelloWorld project, 179
empty deployment descriptor, 175
hello.jsp, 181
HelloWorldAction, 182
HelloWorldAction.java, 180
HelloWorld application execution, 177
HelloWorld project, Struts 2
annotations, 181
HelloWorld project with welcome
message, 177–178
index.jsp, 176–177, 179
new project creation, 170
non-Maven-based application, 174
pom.xml, 175
project configuration, 171
project creation, 170
project directory structure, 173–174
project selection, 171
runtime dependencies, 170
struts 2-convention-plugin, 182
struts 2-core dependency, 174
StrutsPrepareAndExecuteFilter, 176
struts.xml, 176, 179
web.xml, 175–176
Method closure operator (&), 421
Method overloading, 386
Mobile-first design, 37
Model-view-controller (MVC), 86
Modernizr, 38
Multiline slashy strings, 407
Multiline string, 406
Multitiered Java EE architecture, 5
client tier, 6
Java enterprise application, 7–8
web tier, 6
data access layer, 10
service layer, 10
web layer, 9
Web Profile specification, 7
■ O
Object-Graph Navigation Language
(OGNL), 168
object-relational mapping (ORM), 300, 379
Objects, 383
Operators
arithmetic, 110–111
dot, 117–118
inside brackets [ ], 118
logical, 113–114
relational, 111–113
442 Index
Java server pages (JSP) (cont.)