Head First Servlet and JSP 笔记 JSP 部分 (未完待续)

时间:2021-02-22 21:06:28

第七章

1、

The Container takes what you’ve written in your JSP, translates it into a servlet class source (.java) file, then compiles that into a Java servlet class. 

2、

 you can put regular old Java code in a JSP using a scriptlet—which just means Java code within a <% ... %> tag. 

3、

Use the page directive to import packages 

To import a single package:

<%@ page import=”foo.*” %> 

To import multiple packages:

<%@ page import=”foo.*,java.util.*” %> 

4、

Expression <%= %> 

NEVER end an expression with a semicolon! 

5、

declaration <%! int count=0; %> 

JSP declarations are for declaring members of the generated servlet class. That means both variables and methods! In other words, anything between the <%! and %> tag is added to the class outside the service method. That means you can declare both static variables and methods. 

6、隐式对象

Head First Servlet and JSP 笔记 JSP 部分 (未完待续)

 

 

6、

<!-- HTML comment --> 

<%-- JSP comment --%> 

 

7、

API for the generated servlet 

jspInit()
This method is called from the init() method.

You can override this method. (Can you figure out how?)

jspDestroy()

This method is called from the servlet’s destroy() method. You can override this method as well. 

 

8、

Initializing your JSP 

Configuring servlet init parameters 

<web-app ...>
<servlet>
<servlet-name>MyTestInit</servlet-name>
<jsp-file>/TestInit.jsp</jsp-file>
<init-param>
<param-name>email</param-name>
<param-value>ikickedbutt@wickedlysmart.com</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>MyTestInit</servlet-name>
<url-pattern>/TestInif.jsp</url-pattern>
</servlet-mapping>
</web-app>

Overriding jspInit() 

<%!
public void jspInit() {
ServletConfig sConfig = getServletConfig();;
String emailAddr = sConfig.getInitParameter(“email”);;
ServletContext ctx = getServletContext();;
ctx.setAttribute(“mail”, emailAddr);; }
%>

 

9、attribute in JSP

Head First Servlet and JSP 笔记 JSP 部分 (未完待续)

 

10、page attribute

Using the pageContext to find an attribute when you don’t know the scope <%= pageContext.findAttribute(“foo”) %> 

 

(未完待续)