The project package naming rules are generally as follows: com. amos. domain encapsulates JavaBean. Generally, I like to name this package com with model. amos. dao encapsulates the dao layer com. amos. dao. daoimpl implements the dao layer interface com. amos. service encapsulate service layer com. amos. service. serviceiml implements the service layer interface com. amos. web. controller business logic layer com. amos. web. listener com. amos. web. filter com. amos. utils storage tool class com. amos. the test class can be conveniently maintained according to the above classification. WEB-INF/jsp will be stored in the WEB-INF directory jsp, this can increase security 2. el expression EL expression is used to obtain data. You can use $ {identifier} On the JSP page to notify the JSP Engine to call pageContext.. FindAttribute () method, used as the keyword to get objects from each domain object. If the object corresponding to the identifier does not exist in the domain object, the returned result is "" (note, not null ). Example: Use the EL expression to obtain data in the request, session, and applection fields. You can also use $ {mermerbean. address} in the EL expression to access attributes of the JavaBean object. Example: use an EL expression to obtain Bean attributes. EL expressions can also use a class such as ${1 = 1} for simple logical judgment. Copy the Code <% @ page import = "java. util. * "%> <% @ page import =" java. util. arrayList "%> <% @ page import =" java. util. list "%> <% @ page import =" com. amos. model. * "%> <% @ page isELIgnored =" false "%> <% @ page language =" java "contentType =" text/html; charset = UTF-8 "pageEncoding =" UTF-8 "%> <! DOCTYPE html PUBLIC "-// W3C // dtd html 4.01 Transitional // EN "" http://www.w3.org/TR/html4/loose.dtd "> <Html>