1 / 21

Java Server Pages

Java Server Pages. An introduction to JSP. Containers and Components. Several clients – one system. Java Server Pages (JSP). HTML with embedded Java code Good for presentation No print statements Compiled to a Servlet at runtime Good performance Easy deployment

aida
Download Presentation

Java Server Pages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Server Pages An introduction to JSP

  2. Containers and Components • Several clients – one system

  3. Java Server Pages (JSP) • HTML with embedded Java code • Good for presentation • No print statements • Compiled to a Servlet at runtime • Good performance • Easy deployment • When a JSP is updated it’s recompiled • Possible to compile manually • Easy for web designers to use • Edited in an ordinary HTML editor • Support for Java Beans and Custom tags

  4. JSP – Directives • At the top of a JSP page, the page directive is used • <%@ page name=“value” %>

  5. JSP – Page Directive parameters • language • Default is java • extends • Default is the base JSP class, but you could use your own • import=“package1,package2, class1, class2” • session • True or False, determines if sessions should be automatically created. True is default

  6. JSP – Page Directive parameters • buffer • The output buffer size • autoFlush • True or false, determines if the output should be flushed to the client. True is default • isThreadSafe • True or false. True is default • info • Descriptive text

  7. JSP – Page Directive parameters • errorPage • The page to go to in case of an error • contentType • isErrorPage • Defines if this is a error page. False is default. If it’s an error page a couple of extra objects are available in the page

  8. Other Directives • Include directive • <%@ include file=“relative url” %> • Includes the file BEFORE compilation • Only static content

  9. JSP – Implicit objects • In JSPs, a couple of objects are allways available • request • Subclass of ServletRequest • getParameter(), getParameterNames() • getAttribute() • … • Response • Subclass of ServletResponse • Not used in normal situations • pageContext • Used to get configuration variables for this page • getAttribute()

  10. JSP – Implicit objects • session • The HttpSession • Created automatically if session is not false in the page directive • application • javax.servlet.ServletContext • Used to get information about the application • out • Used to print (in scriptlets) • clear(), clearBuffer(), flush() • config • javax.servlet.ServletConfig • getInitParameter(), getInitParameterNames() • page • exception

  11. JSP – Implicit objects • exception • Only in error pages • getMessage() • printStackTrace()

  12. Java Code • Three ways to use Java Code in your JSP • <%! Declaration %> • Declares member variables • NOT thread safe • <%= MyClass.printMessage() %> • Used to print single expressions

  13. Java Code • <% any java code %> • Can contain the entire application • Use with care • Can give very hard to read code <% if(status == 1) { %> <h3>Yo</h3> <%} Else{ %> <h3>Oy</h3> <% } %>

  14. JSP Tags • There are a couple of tags available and you can extend the tag set with your own tags • XML Syntax • Doesn’t distract HTML authoring tools

  15. Forward • <jsp:forward page=“relative URL” /> • Forwards the request

  16. Include • <jsp:include page=“relative url” flusth=“true/false” /> • Includes the output in runtime • Can be dynamic content

  17. UseBean • <jsp:useBean id=“instance name” scope=“page|request|session|application” beanName=“package.class”|class=“package.class” /> • Used to initialize a bean. Only called once <jsp:useBean …> <h4>The bean is created</h4> </jsp:useBean>

  18. GetProperty • Used to call getXXX methods in a bean • <jsp:getProperty name=“bean instance name” property=“name” /> • Will call bean.getName() • Name is the same as id in <jsp:useBean>

  19. SetProperty • Used to call setXXX methods in a bean • <jsp:setProperty name=“instance name” property=“*|propertyname” value=“value” /> • When * is used as property name, a setXXX for value in getParameterNames() will be called

  20. Example • package test1; • class TestBean{ • private String name; • private String surname; • public String getName(){ • return name; • } • public String getSurname(){ • return surname; • } • public void setSurname(String _surname){ • surname=_surname; • } • public void setName(String name=_name){ • name=_name; • } • }

  21. Example cont. <%@ page languea=“java” session=“true” %> <jsp:useBean id=“tb” class=“test1.TestBean” scope=“session”> <i>The bean is created </i> <jsp:getProperty name=“tb” property=“name” /> <jsp:setProperty name=“tb” property=“name” value=“Fredrik” />

More Related