q according to intel the pentium conforms to the ieee
play

Q: According to Intel, the Pentium conforms to the IEEE standards - PowerPoint PPT Presentation

Q: According to Intel, the Pentium conforms to the IEEE standards 754 and 854 for floating point arithmetic. If you fly in aircraft designed using a Pentium, what is the correct pronunciation of "IEEE"? A:


  1. Q: According to Intel, the Pentium conforms to the IEEE standards 754 and 854 for floating point arithmetic. If you fly in aircraft designed using a Pentium, what is the correct pronunciation of "IEEE"? A: Aaaaaaaiiiiiiiiieeeeeeeeeeeee!

  2. Advanced Java Class Web Applications – part 2 (JSPs, etc.)

  3. JSPs (Java Server Pages) • What are they? – When you’re editing it: HTML that contains java code After it’s compiled: a Servlet – – What the client computer receives: just HTML

  4. JSPs (Java Server Pages) • Functionality – The java part is pre-processed on the server side, so the client never knows the difference. – Functionality is interchangeable with servlets – By the time they reach the user, they are HTML, so JavaScript & applets still have a place in enhancing user experience.

  5. Advantages of using a combination of JSPs & servlets • can use WYSIWYG editor, and write HTML directly. • nonprogrammers can write the HTML parts of a JSP page • cleaner than using either alone

  6. JSPs and MVC Layers • Ideally, the View layer is accomplished by passing a JavaBean to the JSP, and then the only java code in the JSP is the display code of showing those values. • The Controller layer is then left to the Servlet and it’s helper classes • And the Model layer is implemented by other class that are also on the server side. • See figure 13-12 on page 858.

  7. JSP tags & API (fig. 13-13) • Ultimate Goal: limit actual Java code in JSPs, so that people who don’t know how to program can edit and create the view layer of the application (i.e. graphic designers) – How to do this: • Javabean tags, custom tag libraries – Okay compromises: • Scriptlets, Expressions

  8. JSP as HTML or XHTML • Comments: <%-- comment --%> • Directives: <%@ … %> – Page ex.: <%@ page import= “java.util.*” %> Include ex: – <%@ include file= “global_header.html” %> • Declaration ex: <%! Type fieldname=expression; %> • Expression: <%= expression %> • Scriptlet: <% for (…) {…} …int i=5;…%>

  9. JSPs as XML Documents • Benefits: – can validate with dtd spec files – Can create and edit with code • Bad effects: – Appear a little more complex – A little longer

  10. JSPs as XML Documents – Syntax (fig. 13-15) • <jsp:root>…</jsp:root> • <jsp:directive.page import=” value ” /> • <jsp:directive.include file=”filename” /> • <jsp:text>….</jsp:text> • <jsp:declaration>…</jsp:declaration> • <jsp:expression>…</jsp:expression> • <jsp:scriptlet>…</jsp:scriptlet> • <jsp:forward page=”URN”/>

  11. JSP as XML Syntax, continued • beans – <jsp:plugin type=”bean | applet”…/> – <jsp:usebean id=”instance” scope=”page | request | session | application” type=”className”> – <jsp:getProperty name=”bean” property=”field” /> – <jsp:setProperty name=”bean” property=”field” value=”value”> • custom libraries – <tagPrefix:customtag attribute=value… />

  12. Server Processing 1. HTML, XHTML, or XML page -> java source file that defines a Servlet class 2. java class compiled to byte code 3. run the resulting servlet Note: If you change a jsp, the web server will automatically recompile it and show it to you when you reload the page. In other words, you don’t have to restart tomcat if you change a jsp. (You do have to restart tomcat if you recompile java code.)

  13. Predefined Variables in JSP • request (argument to doGet/doPost) • response (argument to doGet/doPost) • pageContext • session (request.getSession()) • application (getServletConfig().getContext()) • out (PriterWriter that writes to response outputStream) • config • page (like “this”)

  14. JSP tags for JavaBeans • Good for taking code out of the view layer, so that non-programmers can create/edit the view layer • Three relevant tags: – Usebean – will try to look up in scope, or will instantiate. Class must have a no-args constructor – getProperty, setProperty – will access a get/set method with the corresponding name – make sure it’s there – these match the XML syntax, but can also be used in HTML/XHTML • See Chapter 8 for more details (not covered).

  15. Custom Tags – a mere intro • The Ultimate Step in taking code out of the jsp page • You can define your own tags that define more interesting functionality, such as for loops, if statements, & other code blocks. • They can have attributes that you use to pass variables into the scope of the custom tag Declaring a library: • – <%@ taglib uri=”…” prefix=”…” %> – <jsp:root … xmlns:myPrefix=”…” …>..</jsp:root> • Syntax for using a tag: <libraryPrefix:tagName … /> • Some predefined libraries: – Sun Microsystems JSP Standard Tag Library (JSTL) – Jakarta Taglibs is a free implementation of JSTL – http://jakarta.apache.org/taglibs

  16. Building Robust Web Apps • Make Servlets thread-safe • Allow for the fact that users do weird things • Use relative addresses within your app.

  17. Multithreading • There is one instance of the Servlet running in the web app, but it is being accessed by a different thread for each client • Your variables must be thread-safe – Don’t use fields of servlet as working storage – use session or request scope instead, because each client has a separate session and request – local variables are thread-safe if only one client at a time should run a method, – declare it synchronized

  18. Users Can... • press BACK and FORWARD buttons, rather than using your carefully created navigation buttons • bookmark a page in the middle of your site and go straight there, instead of via the flow you designed • get impatient and click “submit” many times.

  19. What you can do about what users can do... • Turn off caching for pages with dynamic content. • Check for validity of needed session attributes, and redirect to login if they aren’t there. • Disable buttons (using JavaScript) as soon as they are pressed the first time.

  20. Use Relative Addresses If you use relative addresses within web pages, you can switch: – protocols – hosts – domain names – ports Without having to change your internal links!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend