Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Java and the World Wide Web A Workshop for the ACM/JETT Conference May 16th, 2003 Led by Morgan C. Benton ([email protected]) Agenda Brief Java Overview Java on the Web Examples An Applet A JavaServer Page (JSP) Java, the Web, and the Classroom Q&A 2 ©2003 Morgan C. Benton What is Java? Interpreted not Compiled Platform Independent “Write once. Run anywhere.” Object Oriented “Easy” to learn 3 ©2003 Morgan C. Benton Java on the Web 4 Primarily two ways it’s used: Applets JavaServer Pages (JSP) Other uses/terms: JavaServlets JavaBeans Stand alone applications ©2003 Morgan C. Benton HTML: The Static, Non-Interactive Web HTML: Basic skill for web developers Designed for presenting information Doesn’t support dynamic pages 5 (Recommendation: Encourage students to learn the HTML 4.01 standard, or even better XHTML 1.0. See http://www.w3.org for details.) ©2003 Morgan C. Benton !JavaScript.equals(Java) (or in C++, JavaScript != Java) Almost no connection Some shared syntax Name remnant of business alliance between Netscape and Sun Also a basic skill for web developers Complementary to JSP, and to a lesser extent Applets 6 ©2003 Morgan C. Benton Server-side vs. Client-side Servers Clients JSP Database + DBMS Security Mechanism 7 Applets Data Storage ©2003 Morgan C. Benton Applets Basically a Java application that runs within a browser Code is interpreted on the client-side by JVM within the browser Limitations (by design): Limited file system access Limited network access 8 ©2003 Morgan C. Benton JSP For building Web Applications Code is compiled and run on the server HTML is sent to browser Major player in server-side scripting market Widely used and supported 9 ©2003 Morgan C. Benton JSP Pros and Cons Pros 10 Runs on variety of (sometimes free) web servers Large developer community At least as powerful as competitors Multi-threading ©2003 Morgan C. Benton Cons Configuration of web server can be tricky Steep learning curve for nonprogrammers, but not any more than any other serverside technology JSP vs. ASP vs. PHP vs. CF ASP.NET (Active Server Pages) PHP (PHP Hypertext Preprocessor) Open source, free, huge community ColdFusion (from Macromedia) 11 Microsoft technology with wide use and support, code in VBscript (or JavaScript) Runs only in Windows Easiest to learn, but definitely NOT free Strongest integration of Flash ©2003 Morgan C. Benton Development Needs Minimum requirements: J2SE v 1.4.x SDK (Software Developers’ Kit) • Current latest version 1.4.2 beta (4/16/03) • JRE comes bundled with the SDK Any text editor, e.g. WordPad, Emacs, etc. In addition: You may want a better editor/IDE, e.g. • • • • 12 Sun ONE Studio 4 CE (125 MB!) JCreator: $35, in C++ (http://www.jcreator.com/) jEdit: free, open source (http://www.jedit.org/) BlueJ: free, designed for teaching! (http://www.bluej.org) ©2003 Morgan C. Benton Hosting Needs (for JSP) Web Server: Application Server: 13 IIS: comes with Win2k/XP Pro Apache Sun ONE Application Server (PE) Tomcat (http://jakarta.apache.org/tomcat/) Resin (http://www.caucho.com/) JRun Sun ONE Application Server (PE) ©2003 Morgan C. Benton Let’s build some apps! Here’s an example: Applet JSP Page 14 ©2003 Morgan C. Benton Java, the Web, and the Classroom Web Development requires some understanding of all of the following: 15 Programming Concepts: control and data structures, algorithms Networking and protocols Client-server architecture HTML, CSS, and JavaScript Interface Design/Usability Design Databases Teamwork/Team management ©2003 Morgan C. Benton How do I teach this? Recommendations: Don’t be afraid to say “I don’t know, but let’s find out.” Encourage/Support/Reward resourcefulness and self-teaching Competitive Project Teams Consultant-Client approach Solicit colleagues or clubs for real systems to build 16 ©2003 Morgan C. Benton Resources This list has zero pretensions to exhaustiveness Sun’s Java Site http://java.sun.com Developer.com’s Gamelan Site http://www.developer.com/java/ BlueJ http://www.bluej.org/ 17 ©2003 Morgan C. Benton Q&A 18 Comments, questions, suggestions, experiences, reactions, feedback or anything you’d like to say. ©2003 Morgan C. Benton Thank You! Morgan Benton [email protected] Office: (973)596-5291