Presentation is loading. Please wait.

Presentation is loading. Please wait.

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,

Similar presentations


Presentation on theme: "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,"— Presentation transcript:

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: Directives: –Page ex.: –Include ex: Declaration ex: Expression: Scriptlet:

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) … …. …

11 JSP as XML Syntax, continued beans – custom libraries –

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: – –.. Syntax for using a tag: 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 ppt "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,"

Similar presentations


Ads by Google