Study Guide for Intermediate Java Developers

Size: px
Start display at page:

Download "Study Guide for Intermediate Java Developers"

Transcription

1 Study Guide for Intermediate Java Developers After you've completed a beginner class, and begin expanding your skills to include application development, there are a whole bunch of new topics you'll need to learn about. Books to teach these topics vary in quality, so you may be piecing together learning from a mix of online sources, hands-on practice projects, and others' example code. This guide provides a list of topics, and some questions you'll need to be able to answer for each of them. Use it to direct your study time and determine your own approach to learning the topics. This list of questions is meant to help you be more independent in your learning, instead of waiting on an instructor's availability. The questions are not comprehensive. They are meant to guide your attention to important core concepts for each area, moving "unknown unknowns" (you don't know what there is to learn) to "known unknowns" (you are aware of what you don't know so you can begin to learn it). You will come across interesting side details as you research; read those too. Build out your conceptual understanding and vocabulary. You'll also have to do additional research to work out the exact details of each piece of code. You are meant to look up some of the answers to these online, and to build your own understanding by experiencing it hands-on. Use any learning resources you can find. Study Guide for Intermediate Java Developers Page 1

2 Contents 1. Installing Java and Installing and Using Eclipse User Interface Design and UI Elements Event-Driven Programming Data Storage and Databases Using Java with SQL and Databases Layers of Code in an Application Design Patterns and Data Access Objects Exception Handling and Logging Maven and Dependency Managements Using Git and GitHub.com About Web Development with Java Web Milestones 1: Web Server, HTML, and URLs Web Milestones 2: Request, Response, and Definition of Servlet Web Milestones 3: Servlets and JSPs Web Milestone 4: Servlets and DAOs Web Milestones 5: Login Sessions Study Guide for Intermediate Java Developers Page 2

3 1. Installing Java and Installing and Using Eclipse What is the difference between Java EE and Java SE? What is the difference between 'java' and 'javac'? What is the difference between a Java SDK and a JRE? What is a Java jar file? How do you get a command window or terminal window in your operating system? What is a command line? How does your operating system know what paths to search for a program run at the command line? How can you add java to your search path? What is a Java classpath? How do a path and a classpath differ? What is an Eclipse workspace? Within Eclipse, what is a project? What is a source folder? Create a new Java Project inside Eclipse. What does it give you by default? Where should you add your own code? Within your new project, add a simple class with a main() method that prints Hello World or similar. Intentionally create a compile error. In which two locations do the error details show up? What happens if you double-click on an error message? What happens if you hover over an error indicator? Look closely at the file name within the project or package explorer tab. Notice the tiny colored indicator icons on the file name icon. How does the icon change when the file compiles correctly versus when it has an error? Now that you have a short Java class with a main method, how do you make Eclipse run your program? When you run it, where does the output go? What is the console tab? When would it be used? If multiple consoles are open, how would you switch between them? Write a program that runs for a long time or has an infinite loop. Once you started it running, how would you interrupt it or cancel the run? Try it. What is a project wizard? What kinds of wizards are available? What is 'ant'? What is 'maven'? How do they differ? In Eclipse, what is the project explorer tab? What is the package explorer tab? How do they differ? Study Guide for Intermediate Java Developers Page 3

4 What is an Eclipse view? How does the Java view differ from the Debug view? How can you switch between them? How do you set a breakpoint and step through code in a debugger? Eclipse has the ability to click on a function call as if it's a hyperlink, and go to the place where that function is defined. What keys and mouse movement must you use to make the hyperlink show up? What is the Eclipse Outline view, and when might it be useful? How can you make the console word-wrap so the lines aren't so wide? Right-click a file in a project. Notice the "Open" and "Open With" items in the right-click menu. What options does "Open With" provide, and when might you want to use them? Right-click a project, or a file within it, and choose "Properties". What does the "Location:" info tell you? Double-click to open a few different Java source code files or other files in a project. Then, in the project explorer, or package explorer, look for the yellow double arrow icon (middle-top), and click it. Click between the open tabs of source code, and watch what happens in the project/package explorer. How would you describe this behavior? When might it be useful? Press Shift-Command-T (mac) or Shift-Control-T (windows). This is the Open Type dialog. Enter the name of a valid Java class and tell it okay. What does it do? Try it again, and give it an invalid Java class name. What does it do? Give it the name of one of your Java classes from your project. What does it do? Open a Java source file. There is a command to auto-format the source code, fixing the layout. Which menu is it in? What is the keyboard shortcut to it? An Eclipse project view shows a slightly different set of directories and files compared with what's actually on the file system (as seen in a windows or mac file explorer window). What shows up in one but not the other? In Eclipse, how can you change which files are filtered out from the view? In an Eclipse project, what is the.project file for? What is the.classpath file for? What is the.settings directory for? Right click a project, and choose Build Path, Configure Build Path. Examine the tabs and options. This dialog affects the contents of the.classpath file for the project. What is the Libraries tab for? Eclipse Capstone: Write a non-trivial Java program in an Eclipse java project. Run it and debug it until it works. It's fine to reuse code you've written before and move it into Eclipse and test it from there. If you reuse code, try adding a feature, so you get a little more hands-on practice with Eclipse. Study Guide for Intermediate Java Developers Page 4

5 2. User Interface Design and UI Elements What is a graphical user interface (GUI)? Checkbox and dropdown are two examples of user interface elements (things we click on to do stuff). What are some other examples of UI elements? What kinds of UI elements are used for navigating web pages? When might you prefer a dropdown over a textbox? When might you prefer a radio button group or a checkbox? Consider an online store that sells products through their web page. They provide a view that is a list of their products, and a view that is a single product with its details. What kinds of things are typically shown in the list view? What kinds of things are typically shown in the detail view? You're ordering from an online store and forget to fill in a required field. How does the web page tell you about your mistake? When have you used a page that was very confusing about this? When have you used a page that did a good job of helping you see and correct the mistake? What was different about the user interface between the bad and the good? How do web page user interfaces deal with extremely long lists of products or search results? If there were over ten thousand matches, what would help a user navigate the items more effectively? Most data-handling applications provide features for Create, Read, Update, Delete for each kind of data they store. (This is abbreviated CRUD.) What user interface strategies are common for creating/adding a piece of data? What UI layout strategies are common for reading/showing one item or a list of items? What UI layout strategies are common for updating an existing item? What UI layout strategies are common for deleting an item? You can look around the internet for examples, but focus on simpler online stores like shoe stores, not Facebook or Amazon (which have super-complex UIs). Consider an online store that sells physical products (like shoes). What features would a customer expect to use for shopping? What features would a staff member need to use to maintain the site, update products, and fulfill orders? What features would a business owner or accountant use? Study Guide for Intermediate Java Developers Page 5

6 The web page lists out the elements of design as used in art, and you can find more examples of each topic on other sites as well. For each of the principles (balance, gradation, repetition, contrast, harmony, dominance, unity) find a web page that demonstrates that principle either very well or very poorly. (If you're lost on where to look, start at news sites.) If a web site uses that principle poorly, write a sentence or two about how you would improve their design. Where is hierarchy used in web pages as a design principle? How does it help a user? UI Capstone: Pick a web site you like to use. What user interface elements are present? What design principles are used? How is hierarchy used? Why is the front page designed the way it is? What aspects of the user interface help the site be effective? Write 1-2 pages describing the user interface design choices they made and why those choices work. Identify one feature you wish worked differently, and describe why you would change it, and how it would work instead. Study Guide for Intermediate Java Developers Page 6

7 3. Event-Driven Programming Events are an interrupt-driven approach to activities. An event can be user-generated (such as pressing a key, clicking a mouse, or plugging in a network cable) or the event can be system-generated (such as receiving a push notification or a message that the laptop battery is running low). A method that provides code, which runs when an event happens, is called a listener for that event. Events are used in desktop GUIs as well as web page GUIs, and across many programming languages. We'll focus on the web because it's fairly easy to get started and well documented online. Spend some time learning HTML and CSS. The rest of these questions assume basic familiarity with HTML markup and HTML form elements. How does event-driven programming differ from a Java app with a main() method? (You might have to come back to this after experimenting with the topics below.) What HTML elements can trigger an onclick event? What HTML elements can trigger an onchange event? How do you add Javascript code to an HTML web page? How would you write a Javascript function that listens for an onclick event? Write a web page with at least two buttons that do different things when clicked. How does an html form's submit button behave differently with and without an onclick event? What if the listener returns false versus returns true? What is the HTML DOM? How can you change the contents of an html dom element using Javascript? Try changing the text displayed in a paragraph. What is AJAX? What is XML? How are XML and HTML similar and different? What is JSON? What is jquery? Why is it better than plain javascript? Event-Driven Capstone: Write a web page with two dropdowns. The first dropdown should be enabled, while the second is disabled. When a user picks an item from the first dropdown, the second drop populates with options relevant to that (for instance, after picking State, the user may now choose a City) and becomes enabled. When the user clicks a Save button, text elsewhere on the page is updated to reflect their dropdown choices. Study Guide for Intermediate Java Developers Page 7

8 4. Data Storage and Databases What is a server? What is a client? What is a database? What is a database server? What is a database client? What is a database connection? What is SQL (Structured Query Language)? What is a database table? What is a database table column? row? How do you create a table? What data types does MySQL support? How do you insert data into a table? What is a SQL query? What is a where clause? What is a select statement? How do you retrieve all rows from a database table? How do you retrieve rows that match a certain value? How do you retrieve just one row? What is a primary key? What is a foreign key? How do you insert a row with an autogenerated primary key? If one item (such as person name) relates to multiple of another item (such as phone numbers), how do you store both? What is a join? How do you retrieve related data from two tables? What is a left join, and when would you use it? How do you create a row of data that has a value missing in a particular column? How do you delete data from a table? How do you update a value in a given row? Why do primary keys use numbers instead of business-meaning data? Study Guide for Intermediate Java Developers Page 8

9 What is a cascading delete? What is an orphan? Why is cascading behavior important? What is database normalization? In normalized databases, what is third normal form and why is it useful? Design a set of database tables, on paper, for a simple online shoe store. What tables make sense? What primary keys and foreign keys did you end up needing? What questions or uncertainties did you have? Don't worry about making it perfect - this is about discovering the depth of your understanding and the current limits of your knowledge. How would you query for information across 3 different tables that are related by foreign keys? How would you count the number of rows that match a given where clause? What is a group-by statement, and how can you use it to count within each group of rows? How do you name the column in the results, that contains the count? How do you control the sort order that rows come back in? Can you sort by more than one column? Can you reverse the sort order? What is a subquery? What is an explain plan? What is an indexed column? What is an index? Where online can you find an interactive SQL tutorial with practice queries? What section of the online MySQL manual contains the SQL command reference? What kinds of reference charts does visibone.com provide? Is there enough detail in the close-up views to be useful to you? Where else can you find reference sheets online? What areas do you need hands-on practice with, to be comfortable designing database tables, inserting, updating, and retrieving data, and designing for an application? What is a transaction? What do commit and rollback mean? SQL Capstone: Create a database with at least 4 tables, some of which refer to others by foreign key. Insert sample data into every table. Write a few queries that bring back data in a meaningful way for users of that database. Study Guide for Intermediate Java Developers Page 9

10 5. Using Java with SQL and Databases The MySQL database driver for Java JDBC is called Connector/J. It might be included in your download when you install MySQL Community Edition, or you might need to download it separately from What is JDBC? The java.sql.* package provides interfaces while the driver provides an implementation. Why might this extra layer of abstraction be useful? (Hint: Consider other databases.) How do you add the mysql driver jar file to your Eclipse Project's classpath or build path? What do you need to import in your Java code, in order to open a connection to a database? How do you open a connection to the database from Java code? What is a Connection (java class)? What is a Statement (java class)? What is a ResultSet (java class)? How do you use these classes to run a SQL select statement? What exceptions can database code throw? Why might each happen? What's the best way to use a try-finally block to ensure that the result set and the connection are closed properly even if an exception occurs? What is a PreparedStatement, and why is it better than Statement? How do you updating existing data using a PreparedStatement? Stub out a Java method that does this. How do you insert data using a PreparedStatement? Stub out a Java method that does this. When you insert data using jdbc, how do you retrieve the value of the autogenerated primary key? How do you run a select query from java code, and retrieve the results? Does the ResultSet use column names or column numbers to get a value back? What Java data types match which MySQL data types? How do you retrieve just the first 10 rows of a result set? Study Guide for Intermediate Java Developers Page 10

11 How do you retrieve just rows of a result set? If you're providing search results one page at a time (for instance, rows of 800 results), why is it important to have the results in a consistent sort oder? How are transactions used from JDBC? What is autocommit? How do try-finally blocks relate to transactions? If you write Java code in several classes that all talk to the database, how can you simplify and reduce duplication of code for creating a database connection? Ideally your username/password and database URL should only appear in your code once. JDBC Capstone: For the SQL capstone project you did previously, write a Java class to create connections to the database, and a separate Java class to run the queries you created. Make sure everything connects, runs, and works, and that you close your database connection correctly even if a SQL Exception occurs. Ask a mentor for a code review when you are done. Study Guide for Intermediate Java Developers Page 11

12 6. Layers of Code in an Application As applications grow more complex, it becomes useful to separate code carefully based on separation of responsibilities and primary function. A common strategy you'll see is as follows: User Interface Navigation and Menus Customer Features and Data Entry Data Transformation and Validation Business Logic Error Checking Data Persistence Save to database or file Retrieve data when requested Business Domain Data Model The data model of the business domain is all of the pieces of business-related data, such as Customer, Product, Coupon for an online store, or such as Student, Semester, Course for a school. This is often abbreviated "domain model". Why would a domain model object such as Course be used across all 3 layers of Java code? (What is its purpose in the user interface representation? What is its purpose in data persistence? Why might it need to go through data validation in between?) If we didn't split the Java code into these layers, what might that do to the code? No capstone for this one; it's just introducing the concept. Study Guide for Intermediate Java Developers Page 12

13 7. Design Patterns and Data Access Objects What is a software design pattern? What is the GoF (gang of four) design pattern book? Why is it a classic? Can you find a list of those design patterns for free online somewhere? What are Java enterprise design patterns? What is the data access object (DAO) pattern? What methods would typically exist in a Java JDBC DAO class that works with objects from a single database table? How can a DAO tell whether an object it ought to save is the insert of a new row or an update of an existing row? What should the method signature be for a delete method in a DAO? What kinds of exceptions should a DAO throw? How should it report errors? If you find multiple strategies, identify the strengths and weaknesses of each. DAO Capstone: Implement a Java console app (text-only user interface) that lets a user add rows to a database table, choose a row to edit and save those changes, delete a row, and show a list of rows. Also provide a search feature where the user can search by partial text match in one of the columns (such as "Super Duper Shoes" should match a search for "Shoes"). Remember to keep your user interface logic separate from your DAO class that's handling the database. Ask a mentor for a code review when you're done. Study Guide for Intermediate Java Developers Page 13

14 8. Exception Handling and Logging Examine the Java class hierarchy (in the Java API docs) for Exception, Throwable, and RuntimeException. What class is at the root of the hierarchy? What is the difference between those 3 kinds of exceptions? What are checked and unchecked exceptions? How do they differ? What is the parent of SQLException? (Or, if appropriate, the grandparent/etc.) What is the parent/grandparent of NumberFormatException? How do you throw a new exception? Try writing code that does this. How do you catch a SQLException? Try writing code that does this. How do you catch an exception and wrap it in a RuntimeException and then throw that? How do you print out the message and the stack trace of an exception? What sorts of exceptions should code catch and handle itself? What sorts of exceptions should bubble up to the calling class and be handled at a higher level for the whole application? What sorts of exceptions should not be caught at all? Consider code that throws both Exception and some subclass of Exception (such as SQLException). You write two catch { } blocks, one for each type. Why does the order of the catch blocks matter? What will happen if you put them in the wrong order? What is log4j? What is a log4j configuration file? Within log4j, what are logging levels (debug, info, warn, etc) and when should you use each level? How would a log4j configuration file be found by your Java application, when the application runs? How do you print through the logger instead of using System.out.println()? What are the advantages of printing through a logger? How do you log an exception? Logging Capstone: Add logging to your JDBC capstone work. Log when each DAO method is called, and any errors/exceptions. Log when the program starts and ends. Study Guide for Intermediate Java Developers Page 14

15 9. Maven and Dependency Managements What is the ant build tool? What is the maven build tool? How are they similar and different? What is a pom.xml file? What are maven build targets? Which targets are commonly used and what do they each do? What is a maven repository? What is maven central? Install and/or configure maven with Eclipse. Create a java project that has the maven facet or feature enabled. (You might need help with this part.) Create a simple Java main class, and then build the project with 'maven package' through Eclipse. Ensure it compiles and packaging is successful. Add the MySQL driver to the pom.xml dependencies, and rerun maven package. Within your maven-enabled Java project, look in the package explorer for the "Maven Dependencies" item. What kinds of things are listed in here? Add log4j to your dependencies, and rerun maven package. Can you see it show up in the Maven Dependencies within Eclipse? (You might need to right-click your project and choose Refresh.) Double-click the pom.xml to open it in Eclipse, and click into the Source tab (instead of the design view). Make sure you can find this for editing the file later. When you run maven package, where does it output the resulting jar file? Where can you find documentation on how to use maven? Maven Capstone: Convert your JDBC + logging project to use maven instead of adding the jdbc jar file and the log4j jar file directly to your classpath. Remove the jar files for those previous copies. Make sure Eclipse is picking up the maven features on your project, and that your project still runs properly. Study Guide for Intermediate Java Developers Page 15

16 10. Using Git and GitHub.com What is source code revision control? Why is it useful when teams work on code together? Why is it useful when individuals work on code solo? What is the git software? Who created git? Does it have a corporate sponsor? What is the github.com website, and what does it provide for its users? What is an ssh key? Why does github.com encourage using ssh keys for identity rather than username and password? If you use Mac, you already have git software installed. If you use windows, go explore git bash and install it. Where can you find online, hands-on git tutorials? Work through some practices. Set up your ssh key identity for github.com, getting help if you need it. Create a blank repository on github.com, and clone it down to your laptop. Add two files to it, with some text in them. Commit the files and then git push. Refresh to see your changes on the website. Make another change, another commit, and another push. Then use git log to see a list of your commits, and git show <SHA hash> to view the contents of one of your changes. Git Capstone: Add your JDBC + logging + maven project to your github.com account. Optionally, create a somewhat more fully-featured jdbc application with a text-only user interface, if you want more hands-on practice with all the code concepts we've just covered. When you've completed these application-building background work, then you are ready for an introduction to web applications with CGI, http protocol, servlets, and jsps. Study Guide for Intermediate Java Developers Page 16

17 11. About Web Development with Java This next set of sections won't be quite as detailed as the sections you've just been through. You are meant to take your time exploring this, and eventually practicing on a project. The end result will be a project that uses a web user interface, a SQL database back end, and servlets and jsps in the middle to move data around and act as traffic cop. There are many layers of detail to this process, so it's going to take time to learn it. Expect to spend longer on this section than you did on all of the prior study guide combined. Again, you may use any resources you find online, or books, or video courses, etc. Do pay attention to the "servlet api spec" number, (3.0, 3.1, etc.) because this slightly influences what features are available to your code and how examples work. Combining examples from different versions might give you unexpected and frustrating results. The Luv2Code JSP and Servlet tutorial is a paid online class (not affiliated with LaunchCode) that you might find helpful during this section. SPECIAL-BLOG Study Guide for Intermediate Java Developers Page 17

18 12. Web Milestones 1: Web Server, HTML, and URLs I have Tomcat or Jetty installed, and I know how to start and stop my web server. I have an Eclipse "Java Web Project" configured to run on my web server. I can navigate to a URL that loads an html page from my WebContent or webapp folder. I understand the URL paths for static content (html, images, css) and the difference between absolute and relative URLs. I can answer questions about what folder in my project would correspond to a newly invented URL path. I can produce an HTML web site with multiple pages and navigate between them using hyperlinks. The web site does not use any dynamic data. I can get a separate CSS file to load inside my page, and I can include an image. I can answer questions about the file paths and URL paths related to this. Exercise: I have produced a UI mock-up of a form that accepts text fields and a dropdown. I can click the submit button and it goes to the right static page, even though the data fields are not used yet. I can describe the"action" attribute on a <form> tag and explain what it means. Study Guide for Intermediate Java Developers Page 18

19 13. Web Milestones 2: Request, Response, and Definition of Servlet I can describe how a web server examines a URL and uses it to locate a (static) file on disk in a web document directory. I can describe what an HTTP request is and what an HTTP response is. I can describe the purpose of an HTTP response status code, specifically 200, 404, 500, and 403. I can describe the difference between GET and POST requests. I can create and have demoed an HTML page that demonstrates how a browser prompts for resubmit on a POST but does not prompt for resubmit on a GET. I can explain why resubmit could be a problem in certain scenarios. I have examined the contents of an http GET request for a static web page. I have examined the contents of an http POST request resulting from submitting a form with multiple data fields in it. I can extend the HttpServlet class and implement the doget() and dopost() methods to create a servlet class. I can map the servlet to a friendlier URL path using the web.xml file in my project. I understand how URL paths match against the web.xml patterns. In my servlet, I have retrieved the request parameters from the request, and iterated through them, printing them to the console. After that, I have retrieved the PrintWriter from the HttpServletResponse object, and printed the parameters to the output stream instead. I can see my results in a web browser. (No jsps are involved yet, just plain strings from a servlet.) I have tested my servlet with a variety of GET requests and at least one form request which is a POST. Exercise: I have added a second servlet which is meant to do something interesting with the results of the form POST, and modified the form's action url to point to my new servlet. It displays interesting content. (For insatnce, if the form were an contact form, the result of submitting it to the servlet is that a nicely formatted is shown in HTML along with a "Thank you for your submission!"). My servlet is listed in web.xml and works when tested. HTML content should occur within the servlet code; although tedious, this demonstrates the intent of servlets, and we'll fix it shortly. Study Guide for Intermediate Java Developers Page 19

20 14. Web Milestones 3: Servlets and JSPs At this point, you're beginning to see the power of web programming. You can take data from a form, feed it in to a servlet where code gets to run on it, and you get some kind of interesting result based on that data. Now we're going to start chaining together multiple pages like this, and instead of static html files, you will generate every web page through code. Let's see how to take some of the pain out of that. The following explanation is as much for your mentor as for you. It will make sense eventually; take it a small piece at a time. A jsp is a way to move HTML out of the servlet (where it's hard to type) into a template file (where HTML is the norm and it's easy to type). A jsp compiles into a servlet. It can include scriptlet tags to either print the value of a variable, or to run more complex Java code around some HTML (for instance, a loop). Why would we use a servlet vs a jsp? A servlet is for loading data from the database, saving data to the database, and doing data validation. It's the librarian and the traffic cop. A jsp is for presentation logic only. It makes things pretty, but it should not be touching the database directly. The servlet should use a DAO class to load data, put that into the request.setattribute(key, value); and then the jsp loads it from there. A jsp file inside your WEB-INF directory is protected from being served up directly by the web server; it has no URL of its own. Instead, a servlet uses a request dispatcher to hand off the request to the jsp and display the contents. In contrast, a jsp outside the WEB-INF directory works more like a static html file. You can write a URL that loads the jsp directly -- but! no servlet gets any opportunity to run, and so you don't have a good way to load data from a database when you do this. It's poor practice to use DAOs in your jsps. Instead you should send the URL to a servlet first, let it do the heavy lifting, and then the servlet uses the dispatcher to load the jsp. I can create a jsp outside of WEB-INF but inside WebContent (or 'webapp') folder, and I can create a URL that points to it after restarting my web server. My jsp displays simple html text. I can create a jsp inside of WEB-INF, and can prove that I cannot load it via URL, even with a correct path. I can create or modify a servlet so that there is a request dispatcher that displays a jsp. Instead of using the PrintWriter to output html, it now uses only the jsp instead (but goes through a servlet along the way). Study Guide for Intermediate Java Developers Page 20

21 From my servlet, I can generate a random number, put it in the request.setattributes() area, and pull it back out to display it from my JSP code. Reloading the servlet's url generates a new random number. I can modify my exercise from the previous section (form submission) to now use a jsp for display instead of html source code inside the servlet. I can create a servlet whose doget() dispatches to a jsp that shows a form, and whose dopost() accepts the results of that form submission and dispatches to a jsp that shows a pretty layout of the data from that form. The display of the initial form and its results now both come from a servlet, with jsps used for layout. I am ignoring resubmission for now. I can create a servlet whose dopost() method sends a response.sendredirect() to a different servlet's doget() method. I have moved the pretty-layout portion of the response to the new doget() method. I can explain why this avoids the duplicate submission problem if the user presses reload in their browser. I can describe the URLs involved in each step, and the http response codes. This example will become more obvious in the next section when we start working with database data. Intro to JSTL: I understand what basic JSTL tags are available for me to use. I can use JSTL tags in my jsp instead of Java for loops. I can use JSTL to create an href for an <a href> tag. Exercise: I can create a sequence of servlet calls with a multi-page form. There will be 3 form pages and 1 final "thank you" page. The data values from form 1 are carried through into hidden fields in form 2. The data values from forms 1&2 are carried through into hidden fields in form 3. When form 3 submits, page 4 displays the full list of values from forms 1-3 along with a thank you message. I do not lose any values along the way, and use servlets and jsps for each step. Study Guide for Intermediate Java Developers Page 21

22 15. Web Milestone 4: Servlets and DAOs Now that you are starting to get the hang of servlet and jsp urls, hidden form fields, and how to carry data across, it's time to get the database involved. You should have already completed a text-based UI (console) java app that uses JDBC and loads and saves data use the DAO (data access object) design pattern. Review your code and ensure you understand thoroughly how to use DAOs, before you start this section. I can produce a "list" feature using a servlet that loads a list of names and ids from a database table and displays them in a web page (through a jsp). I can add a new attribute to each item in the list: this means a new column in the database, a new member variable in the data bean, and matching changes to the servlet and display logic. I can add a link to each item in the list to display just that item in a "detail" page, where the correct item is loaded (by id) from a database and displayed by itself on screen. I can produce an "add new" feature where the user can fill out a form and press Save, and the servlet will use a DAO to save that data to a database. No error handling yet. After save, my code redirects to a get url, so the user can't actually double-submit. I can produce an "edit" feature where the user can click a link on an item in the list (or a link next to each item), and that individual item is loaded (by id) into a form where the user can modify the values and press Save. When they press Save, the existing item in the database is updated with the new values. The id should never change, but all other fields are acceptable for changes. After save, my code redirects to a get url, so the user can't accidentally double-submit. I can validate required fields are non-empty, in my "add" and "edit" forms, sending the user back to the form with a validation error displayed if they do it wrong. (This can feel tricky at first; be patient as you work it out.) I can provide a "delete" feature for an item in the list. It goes to a confirm page first "Are you sure you want to delete?" with a form and a Cancel and a Yes button. Pressing cancel redirects the user back to the list page. Pressing Yes actually deletes the data and then redirects the user back to the list page. I can provide a "search" feature on my list page, where the search box matches text against the names to limit the results. There is a "Search" button and a "Reset" button. If the user types in a partial name and hits search, it will filter the list results. Pressing reset will blank out the search box and go back to showing the full list of results. Study Guide for Intermediate Java Developers Page 22

23 I can create a bit of Java code that inserts a few hundred items into my database table, so I have sample data to work with. It's okay if they're nonsense. Exercise: I can create a paged navigation in my list, where each item shows no more than 20 items, and there are "next" and "previous" buttons to flip through the pages. I can prove that the first page and a middle page and the last page show exactly the right count of items, no off-by-one errors. (This also takes some DAO work. Be patient!) Study Guide for Intermediate Java Developers Page 23

24 16. Web Milestones 5: Login Sessions You can use multi-page websites, navigate between pages, send data back and forth, do simple database searches, and are becoming fluent in servlet and jsp code. Wouldn't it be nice if your code knew who your users are? This is often a necessary step in building more advanced projects, such as e-commerce sites. I can describe what a session is. (HttpSession, a login session, it has multiple names.) I can describe what caching on disk means, as well as session expiration. I can identify the request and response API methods related to session management. For a modest size project idea, I can create a site map plan for which pages are visible to a guest user, which pages are visible to any signed-in user, and which pages are only usable by an administrative or staff member user. My site map includes page names, page URLs, and a URL scheme that makes it easy to pattern-match the locked pages. I can create a guest home page and a login form, and pre-create a few users in the database. I can make my login form demonstrably log in the user and start their session. Further calls to other servlets show that the user remains logged in. I can reject bad passwords with an appropriate validation error message. My passwords are stored hashed in the database, not plain text. I can describe why this is important. I can explain the difference between encryption and a cypher. I can make the logout link demonstrably log out the user, ending their session. Further calls to other servlets show that the user remains logged out. I can identify users as normal users versus administrators, in my database table. I can show in a servlet which type of user they are. I can reject normal users from administrator-only pages and features. An administrator has a page to reset the password of a normal user (since we don't have the ability to send password reset s - those rquire a mail server). I can send a "Remember Me" cookie to a user so that the username fills in automatically. I can describe what a cookie is and how it's used. Exercise: I can demo a series of user use cases involving logging in, performing some work, logging out, changing users, logging in as the new user, performing Study Guide for Intermediate Java Developers Page 24

25 work, and logging back out. I can demonstrate that the correct user is the only one logged in at each step. Congratulations - you have all the basic skills to create your own web project with a database behind it. Go build cool things! Study Guide for Intermediate Java Developers Page 25

CS 268 Lab 6 Eclipse Test Server and JSPs

CS 268 Lab 6 Eclipse Test Server and JSPs CS 268 Lab 6 Eclipse Test Server and JSPs Setting up Eclipse The first thing you will do is to setup the Eclipse Web Server environment for testing. This will create a local web server running on your

More information

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...

More information

Web API Lab folder 07_webApi : webapi.jsp your testapijs.html testapijq.html that works functionally the same as the page testapidomjs.

Web API Lab folder 07_webApi : webapi.jsp your testapijs.html testapijq.html that works functionally the same as the page testapidomjs. Web API Lab In this lab, you will produce three deliverables in folder 07_webApi : 1. A server side Web API (named webapi.jsp) that accepts an input parameter, queries your database, and then returns a

More information

Setting Up the Development Environment

Setting Up the Development Environment CHAPTER 5 Setting Up the Development Environment This chapter tells you how to prepare your development environment for building a ZK Ajax web application. You should follow these steps to set up an environment

More information

Web API Lab. The next two deliverables you shall write yourself.

Web API Lab. The next two deliverables you shall write yourself. Web API Lab In this lab, you shall produce four deliverables in folder 07_webAPIs. The first two deliverables should be pretty much done for you in the sample code. 1. A server side Web API (named listusersapi.jsp)

More information

Programming the World Wide Web by Robert W. Sebesta

Programming the World Wide Web by Robert W. Sebesta Programming the World Wide Web by Robert W. Sebesta Tired Of Rpg/400, Jcl And The Like? Heres A Ticket Out Programming the World Wide Web by Robert Sebesta provides students with a comprehensive introduction

More information

CS Final Exam Review Suggestions - Spring 2018

CS Final Exam Review Suggestions - Spring 2018 CS 328 - Final Exam Review Suggestions p. 1 CS 328 - Final Exam Review Suggestions - Spring 2018 last modified: 2018-05-03 Based on suggestions from Prof. Deb Pires from UCLA: Because of the research-supported

More information

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336

CSE 336. Introduction to Programming. for Electronic Commerce. Why You Need CSE336 CSE 336 Introduction to Programming for Electronic Commerce Why You Need CSE336 Concepts like bits and bytes, domain names, ISPs, IPAs, RPCs, P2P protocols, infinite loops, and cloud computing are strictly

More information

DOWNLOAD PDF VISUAL STUDIO 2008 LEARNING GUIDE

DOWNLOAD PDF VISUAL STUDIO 2008 LEARNING GUIDE Chapter 1 : Visual Studio Express - C++ Tutorials Visual Studio Important! Selecting a language below will dynamically change the complete page content to that language. Premier Knowledge Solutions offers

More information

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common

More information

OU EDUCATE TRAINING MANUAL

OU EDUCATE TRAINING MANUAL OU EDUCATE TRAINING MANUAL OmniUpdate Web Content Management System El Camino College Staff Development 310-660-3868 Course Topics: Section 1: OU Educate Overview and Login Section 2: The OmniUpdate Interface

More information

Assignment #3 CSCI 201 Spring % of course grade Title Weathermeister Back-End API Integration

Assignment #3 CSCI 201 Spring % of course grade Title Weathermeister Back-End API Integration Assignment #3 CSCI 201 4.5% of course grade Title Weathermeister Back-End API Integration Topics Covered Java Classes HTML CSS Basic Java Topics Java Servlets JSP JavaScript AJAX Databases SQL JDBC Overview

More information

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting Slide 1: Cover Welcome to lesson 3 of the db2 on Campus lecture series. Today we're going to talk about tools and scripting, and this is part 1 of 2

More information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response

More information

Xton Access Manager GETTING STARTED GUIDE

Xton Access Manager GETTING STARTED GUIDE Xton Access Manager GETTING STARTED GUIDE XTON TECHNOLOGIES, LLC PHILADELPHIA Copyright 2017. Xton Technologies LLC. Contents Introduction... 2 Technical Support... 2 What is Xton Access Manager?... 3

More information

CSCI 201 Lab 1 Environment Setup

CSCI 201 Lab 1 Environment Setup CSCI 201 Lab 1 Environment Setup "The journey of a thousand miles begins with one step." - Lao Tzu Introduction This lab document will go over the steps to install and set up Eclipse, which is a Java integrated

More information

Introduction to the SAM Student Guide 4. How to Use SAM 5. Logging in the First Time as a Pre-registered Student 5 Profile Information 7

Introduction to the SAM Student Guide 4. How to Use SAM 5. Logging in the First Time as a Pre-registered Student 5 Profile Information 7 Contents Introduction to the SAM Student Guide 4 How to Use SAM 5 Logging in the First Time as a Pre-registered Student 5 Profile Information 7 Logging into SAM as a New User 9 Forgot Password 14 Grace

More information

Secure Web Appliance. Basic Usage Guide

Secure Web Appliance. Basic Usage Guide Secure Web Appliance Basic Usage Guide Table of Contents 1. Introduction... 1 1.1. About CYAN Secure Web Appliance... 1 1.2. About this Manual... 1 1.2.1. Document Conventions... 1 2. Description of the

More information

Getting Help...71 Getting help with ScreenSteps...72

Getting Help...71 Getting help with ScreenSteps...72 GETTING STARTED Table of Contents Onboarding Guides... 3 Evaluating ScreenSteps--Welcome... 4 Evaluating ScreenSteps--Part 1: Create 3 Manuals... 6 Evaluating ScreenSteps--Part 2: Customize Your Knowledge

More information

BEAWebLogic. Portal. Tutorials Getting Started with WebLogic Portal

BEAWebLogic. Portal. Tutorials Getting Started with WebLogic Portal BEAWebLogic Portal Tutorials Getting Started with WebLogic Portal Version 10.2 February 2008 Contents 1. Introduction Introduction............................................................ 1-1 2. Setting

More information

Lab Exercise 1 Using EGit and JUnit

Lab Exercise 1 Using EGit and JUnit Lab Exercise 1 Using EGit and JUnit This lab exercise will get you familiar with following: EGit, an Eclipse plug-in to use to a distributed version control system called Git. JUnit, a unit testing framework

More information

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2

HYPERION SYSTEM 9 BI+ GETTING STARTED GUIDE APPLICATION BUILDER J2EE RELEASE 9.2 HYPERION SYSTEM 9 BI+ APPLICATION BUILDER J2EE RELEASE 9.2 GETTING STARTED GUIDE Copyright 1998-2006 Hyperion Solutions Corporation. All rights reserved. Hyperion, the Hyperion H logo, and Hyperion s product

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad - 500 043 INFORMATION TECHNOLOGY TUTORIAL QUESTION BANK Course Name Course Code Class Branch : Web Technologies : ACS006 : B. Tech

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

Code Check TM Software Requirements Specification

Code Check TM Software Requirements Specification Code Check TM Software Requirements Specification Author: Richard McKenna Debugging Enterprises TM Based on IEEE Std 830 TM -1998 (R2009) document format Copyright 2017 Debugging Enterprises No part of

More information

Assignment 1: Port & Starboard

Assignment 1: Port & Starboard Assignment 1: Port & Starboard Revisions: Jan 7: Added note on how to clean project for submission. Submit a ZIP file of all the deliverables to the CourSys: https://courses.cs.sfu.ca/ All submissions

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Getting Started Reliance Communications, Inc.

Getting Started Reliance Communications, Inc. Getting Started Reliance Communications, Inc. 603 Mission Street Santa Cruz, CA 95060 888-527-5225 www.schoolmessenger.com Contents Before you Begin... 3 Bookmark Your Login Page... 3 Setting your Password...

More information

JSF Tools Reference Guide. Version: M5

JSF Tools Reference Guide. Version: M5 JSF Tools Reference Guide Version: 3.3.0.M5 1. Introduction... 1 1.1. Key Features of JSF Tools... 1 2. 3. 4. 5. 1.2. Other relevant resources on the topic... 2 JavaServer Faces Support... 3 2.1. Facelets

More information

AngularJS Intro Homework

AngularJS Intro Homework AngularJS Intro Homework Contents 1. Overview... 2 2. Database Requirements... 2 3. Navigation Requirements... 3 4. Styling Requirements... 4 5. Project Organization Specs (for the Routing Part of this

More information

Managing Your Website with Convert Community. My MU Health and My MU Health Nursing

Managing Your Website with Convert Community. My MU Health and My MU Health Nursing Managing Your Website with Convert Community My MU Health and My MU Health Nursing Managing Your Website with Convert Community LOGGING IN... 4 LOG IN TO CONVERT COMMUNITY... 4 LOG OFF CORRECTLY... 4 GETTING

More information

Here we will look at some methods for checking data simply using JOSM. Some of the questions we are asking about our data are:

Here we will look at some methods for checking data simply using JOSM. Some of the questions we are asking about our data are: Validating for Missing Maps Using JOSM This document covers processes for checking data quality in OpenStreetMap, particularly in the context of Humanitarian OpenStreetMap Team and Red Cross Missing Maps

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

CS506 Web Design & Development Final Term Solved MCQs with Reference

CS506 Web Design & Development Final Term Solved MCQs with Reference with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar

More information

The Basic Web Server CGI. CGI: Illustration. Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems 4

The Basic Web Server CGI. CGI: Illustration. Web based Applications, Tomcat and Servlets - Lab 3 - CMPUT 391 Database Management Systems 4 CMPUT 391 Database Management Systems The Basic Web based Applications, - - CMPUT 391 Database Management Systems Department of Computing Science University of Alberta CMPUT 391 Database Management Systems

More information

CSC 8205 Advanced Java

CSC 8205 Advanced Java Please read this first: 1) All the assignments must be submitted via blackboard account. 2) All the assignments for this course are posted below. The due dates for each assignment are announced on blackboard.

More information

Building Standards Department Markham eplan Applicant Handbook For Building Permits, Sign Permits and Zoning Preliminary Review

Building Standards Department Markham eplan Applicant Handbook For Building Permits, Sign Permits and Zoning Preliminary Review Markham eplan Applicant Handbook For Building Permits, Sign Permits and Zoning Preliminary Review In addition to this user manual, please refer to the instructions provided in the electronic forms (eforms)

More information

Cmpt 101 Lab 1 - Outline

Cmpt 101 Lab 1 - Outline Cmpt 101 Lab 1 - Outline Instructions: Work through this outline completely once directed to by your Lab Instructor and fill in the Lab 1 Worksheet as indicated. Contents PART 1: GETTING STARTED... 2 PART

More information

Exsys RuleBook Selector Tutorial. Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America.

Exsys RuleBook Selector Tutorial. Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America. Exsys RuleBook Selector Tutorial Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America. This documentation, as well as the software described in it, is furnished under license

More information

This tutorial will teach you how to use Java Servlets to develop your web based applications in simple and easy steps.

This tutorial will teach you how to use Java Servlets to develop your web based applications in simple and easy steps. About the Tutorial Servlets provide a component-based, platform-independent method for building Webbased applications, without the performance limitations of CGI programs. Servlets have access to the entire

More information

Title of Resource Introduction to SPSS 22.0: Assignment and Grading Rubric Kimberly A. Barchard. Author(s)

Title of Resource Introduction to SPSS 22.0: Assignment and Grading Rubric Kimberly A. Barchard. Author(s) Title of Resource Introduction to SPSS 22.0: Assignment and Grading Rubric Kimberly A. Barchard Author(s) Leiszle Lapping-Carr Institution University of Nevada, Las Vegas Students learn the basics of SPSS,

More information

Michigan State University

Michigan State University Michigan State University Team Meijer Mobile Customer Satisfaction Application Project Plan Spring 2014 Meijer Staff: Jim Becher Chris Laske Michigan State University Capstone Members: Noor Hanan Ahmad

More information

CheckBook Pro 2 Help

CheckBook Pro 2 Help Get started with CheckBook Pro 9 Introduction 9 Create your Accounts document 10 Name your first Account 11 Your Starting Balance 12 Currency 13 We're not done yet! 14 AutoCompletion 15 Descriptions 16

More information

Content Author's Reference and Cookbook

Content Author's Reference and Cookbook Sitecore CMS 6 Content Author's Reference and Cookbook Rev. 080627 Sitecore CMS 6 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents Chapter

More information

Module 3: Working with C/C++

Module 3: Working with C/C++ Module 3: Working with C/C++ Objective Learn basic Eclipse concepts: Perspectives, Views, Learn how to use Eclipse to manage a remote project Learn how to use Eclipse to develop C programs Learn how to

More information

Blackboard 5 Level One Student Manual

Blackboard 5 Level One Student Manual Blackboard 5 Level One Student Manual Blackboard, Inc. 1899 L Street NW 5 th Floor Washington DC 20036 Copyright 2000 by Blackboard Inc. All rights reserved. No part of the contents of this manual may

More information

Cisco Unified Serviceability

Cisco Unified Serviceability Cisco Unified Serviceability Introduction, page 1 Installation, page 5 Introduction This document uses the following abbreviations to identify administration differences for these Cisco products: Unified

More information

Barchard Introduction to SPSS Marks

Barchard Introduction to SPSS Marks Barchard Introduction to SPSS 22.0 3 Marks Purpose The purpose of this assignment is to introduce you to SPSS, the most commonly used statistical package in the social sciences. You will create a new data

More information

The Domino Designer QuickStart Tutorial

The Domino Designer QuickStart Tutorial The Domino Designer QuickStart Tutorial 1. Welcome The Domino Designer QuickStart Tutorial You've installed Domino Designer, you've taken the Designer Guided Tour, and maybe you've even read some of the

More information

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java)

CSCI 161: Introduction to Programming I Lab 1b: Hello, World (Eclipse, Java) Goals - to learn how to compile and execute a Java program - to modify a program to enhance it Overview This activity will introduce you to the Java programming language. You will type in the Java program

More information

WORDPRESS 101 A PRIMER JOHN WIEGAND

WORDPRESS 101 A PRIMER JOHN WIEGAND WORDPRESS 101 A PRIMER JOHN WIEGAND CONTENTS Starters... 2 Users... 2 Settings... 3 Media... 6 Pages... 7 Posts... 7 Comments... 7 Design... 8 Themes... 8 Menus... 9 Posts... 11 Plugins... 11 To find a

More information

FIREFOX MENU REFERENCE This menu reference is available in a prettier format at

FIREFOX MENU REFERENCE This menu reference is available in a prettier format at FIREFOX MENU REFERENCE This menu reference is available in a prettier format at http://support.mozilla.com/en-us/kb/menu+reference FILE New Window New Tab Open Location Open File Close (Window) Close Tab

More information

Salesforce Classic Guide for iphone

Salesforce Classic Guide for iphone Salesforce Classic Guide for iphone Version 35.0, Winter 16 @salesforcedocs Last updated: October 27, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

WA2018 Programming REST Web Services with JAX-RS WebLogic 12c / Eclipse. Student Labs. Web Age Solutions Inc.

WA2018 Programming REST Web Services with JAX-RS WebLogic 12c / Eclipse. Student Labs. Web Age Solutions Inc. WA2018 Programming REST Web Services with JAX-RS 1.1 - WebLogic 12c / Eclipse Student Labs Web Age Solutions Inc. Copyright 2012 Web Age Solutions Inc. 1 Table of Contents Lab 1 - Configure the Development

More information

Snapshot Best Practices: Continuous Integration

Snapshot Best Practices: Continuous Integration Snapshot Best Practices: Continuous Integration Snapshot provides sophisticated and flexible tools for continuously keeping Salesforce accounts, developer projects, and content repositories synchronized.

More information

There are six main steps in creating web pages in FrontPage98:

There are six main steps in creating web pages in FrontPage98: This guide will show you how to create a basic web page using FrontPage98 software. These instructions are written for IBM (Windows) computers only. However, FrontPage is available for Macintosh users

More information

Oracle Enterprise Manager 11g Ops Center 2.5 Hands-on Lab

Oracle Enterprise Manager 11g Ops Center 2.5 Hands-on Lab Oracle Enterprise Manager 11g Ops Center 2.5 Hands-on Lab Introduction to Enterprise Manager 11g Oracle Enterprise Manager 11g is the centerpiece of Oracle's integrated IT management strategy, which rejects

More information

Chapter 6: Creating and Configuring Menus. Using the Menu Manager

Chapter 6: Creating and Configuring Menus. Using the Menu Manager Chapter 6: Creating and Configuring Menus The Menu Manager provides key information about each menu, including: Title. The name of the menu. Type. Its unique name used in programming. Menu Item. A link

More information

ArtOfTest Inc. Automation Design Canvas 2.0 Beta Quick-Start Guide

ArtOfTest Inc. Automation Design Canvas 2.0 Beta Quick-Start Guide Automation Design Canvas 2.0 Beta Quick-Start Guide Contents Creating and Running Your First Test... 3 Adding Quick Verification Steps... 10 Creating Advanced Test Verifications... 13 Creating a Data Driven

More information

Introduction... 3 Introduction... 4

Introduction... 3 Introduction... 4 User Manual Contents Introduction... 3 Introduction... 4 Placing an Order... 5 Overview of the Order Sheet... 6 Ordering Items... 9 Customising your Orders... 11 Previewing and Submitting your Basket...

More information

The main differences with other open source reporting solutions such as JasperReports or mondrian are:

The main differences with other open source reporting solutions such as JasperReports or mondrian are: WYSIWYG Reporting Including Introduction: Content at a glance. Create A New Report: Steps to start the creation of a new report. Manage Data Blocks: Add, edit or remove data blocks in a report. General

More information

Oracle Big Data Cloud Service, Oracle Storage Cloud Service, Oracle Database Cloud Service

Oracle Big Data Cloud Service, Oracle Storage Cloud Service, Oracle Database Cloud Service Demo Introduction Keywords: Oracle Big Data Cloud Service, Oracle Storage Cloud Service, Oracle Database Cloud Service Goal of Demo: Oracle Big Data Preparation Cloud Services can ingest data from various

More information

Selenium Testing Course Content

Selenium Testing Course Content Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference

More information

Java Programming Constructs Java Programming 2 Lesson 1

Java Programming Constructs Java Programming 2 Lesson 1 Java Programming Constructs Java Programming 2 Lesson 1 Course Objectives Welcome to OST's Java 2 course! In this course, you'll learn more in-depth concepts and syntax of the Java Programming language.

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

Tutorial: Using Java/JSP to Write a Web API

Tutorial: Using Java/JSP to Write a Web API Tutorial: Using Java/JSP to Write a Web API Contents 1. Overview... 1 2. Download and Install the Sample Code... 2 3. Study Code From the First JSP Page (where most of the code is in the JSP Page)... 3

More information

Moodle FAQ. How do I login to Moodle?

Moodle FAQ. How do I login to Moodle? Moodle FAQ How do I login to Moodle? Why can't I login to Moodle? What do I need to use Moodle? How do I allow cookies for Moodle? How do I allow pop-ups for Moodle? How do I enable JavaScript? How do

More information

(Worth 50% of overall Project 1 grade)

(Worth 50% of overall Project 1 grade) 第 1 页共 8 页 2011/11/8 22:18 (Worth 50% of overall Project 1 grade) You will do Part 3 (the final part) of Project 1 with the same team as for Parts 1 and 2. If your team partner dropped the class and you

More information

Checklist for Testing of Web Application

Checklist for Testing of Web Application Checklist for Testing of Web Application Web Testing in simple terms is checking your web application for potential bugs before its made live or before code is moved into the production environment. During

More information

Basic Web Application Development Spring credit hour Student Taught (Satisfactory/Unsatisfactory)

Basic Web Application Development Spring credit hour Student Taught (Satisfactory/Unsatisfactory) Basic Web Application Development Spring 2014 1 credit hour Student Taught (Satisfactory/Unsatisfactory) Matthew Schurr mschurr@rice.edu (404) 395-0511 Instructor Matthew Schurr Duncan College Class of

More information

Using X-Particles with Team Render

Using X-Particles with Team Render Using X-Particles with Team Render Some users have experienced difficulty in using X-Particles with Team Render, so we have prepared this guide to using them together. Caching Using Team Render to Picture

More information

1 Introduction. 2 Web Architecture

1 Introduction. 2 Web Architecture 1 Introduction This document serves two purposes. The first section provides a high level overview of how the different pieces of technology in web applications relate to each other, and how they relate

More information

Barchard Introduction to SPSS Marks

Barchard Introduction to SPSS Marks Barchard Introduction to SPSS 21.0 3 Marks Purpose The purpose of this assignment is to introduce you to SPSS, the most commonly used statistical package in the social sciences. You will create a new data

More information

Unit 10: Advanced Actions

Unit 10: Advanced Actions Unit 10: Advanced Actions Questions Covered What other action types are available? How can we communicate with users without sending an email? How can we clone a record, mapping just the fields we want?

More information

Senior Technical Specialist, IBM. Charles Price (Primary) Advisory Software Engineer, IBM. Matthias Falkenberg DX Development Team Lead, IBM

Senior Technical Specialist, IBM. Charles Price (Primary) Advisory Software Engineer, IBM. Matthias Falkenberg DX Development Team Lead, IBM Session ID: DDX-15 Session Title: Building Rich, OmniChannel Digital Experiences for Enterprise, Social and Storefront Commerce Data with Digital Data Connector Part 2: Social Rendering Instructors: Bryan

More information

SPARK. User Manual Ver ITLAQ Technologies

SPARK. User Manual Ver ITLAQ Technologies SPARK Forms Builder for Office 365 User Manual Ver. 3.5.50.102 0 ITLAQ Technologies www.itlaq.com Table of Contents 1 The Form Designer Workspace... 3 1.1 Form Toolbox... 3 1.1.1 Hiding/ Unhiding/ Minimizing

More information

Using Eclipse for Java. Using Eclipse for Java 1 / 1

Using Eclipse for Java. Using Eclipse for Java 1 / 1 Using Eclipse for Java Using Eclipse for Java 1 / 1 Using Eclipse IDE for Java Development Download the latest version of Eclipse (Eclipse for Java Developers or the Standard version) from the website:

More information

DB Browser UI Specs Anu Page 1 of 15 30/06/2004

DB Browser UI Specs Anu Page 1 of 15 30/06/2004 DB Browser UI Specs Anu Page 1 of 15 30/06/2004 Contents Topic Page Introduction 3 UI Model 3 Main Window 4 Column properties tab 5 SQL Tab 6 View Record window 7 Connection Information window 9 Setting

More information

EUSurvey OSS Installation Guide

EUSurvey OSS Installation Guide Prerequisites... 2 Tools... 2 Java 7 SDK... 2 MySQL 5.6 DB and Client (Workbench)... 4 Tomcat 7... 8 Spring Tool Suite... 11 Knowledge... 12 Control System Services... 12 Prepare the Database... 14 Create

More information

Sonatype CLM - IDE User Guide. Sonatype CLM - IDE User Guide

Sonatype CLM - IDE User Guide. Sonatype CLM - IDE User Guide Sonatype CLM - IDE User Guide i Sonatype CLM - IDE User Guide Sonatype CLM - IDE User Guide ii Contents 1 Introduction 1 2 Installing Sonatype CLM for Eclipse 2 3 Configuring Sonatype CLM for Eclipse 5

More information

EMS WEB APP User Guide

EMS WEB APP User Guide EMS WEB APP User Guide V44.1 Last Updated: August 14, 2018 EMS Software emssoftware.com/help 800.440.3994 2018 EMS Software, LLC. All Rights Reserved. Table of Contents CHAPTER 1: EMS Web App User Guide

More information

CSE 332: Data Structures and Parallelism Autumn 2017 Setting Up Your CSE 332 Environment In this document, we will provide information for setting up Eclipse for CSE 332. The first s ection covers using

More information

Production Assistance for Cellular Therapies (PACT) PACT Application System User s Guide

Production Assistance for Cellular Therapies (PACT) PACT Application System User s Guide Production Assistance for Cellular Therapies (PACT) PACT Application System User s Guide Version 1.0 February 9, 2017 Version 1.0 TABLE OF CONTENTS 1.0 Getting Started... 1 1.1 Access to the Internet...

More information

Salesforce Enterprise Edition Upgrade Guide

Salesforce Enterprise Edition Upgrade Guide Salesforce Enterprise Edition Upgrade Guide Salesforce, Spring 16 @salesforcedocs Last updated: February 11, 2016 Copyright 2000 2016 salesforce.com, inc. All rights reserved. Salesforce is a registered

More information

Preferences & Notifications Information and Assistance

Preferences & Notifications Information and Assistance Guides.turnitin.com Feedback Studio Instructor Guide Enabling and Disabling Feedback Studio Setting up Your Turnitin Account Logging In Resetting Your Password Joining an Account The Instructor Homepage

More information

Adobe Business Catalyst

Adobe Business Catalyst Adobe Business Catalyst Adobe Business Catalyst is similar to the Content Management Systems we have been using, but is a paid solution (rather than open source and free like Joomla, WordPress, and Drupal

More information

Student User Manual December 2017

Student User Manual December 2017 Student User Manual December 2017 Contents Introduction to the SAM Student Guide 4 How to Use SAM 5 Logging in the First Time as a Pre-registered Student 5 Profile Information 8 Logging into SAM as a New

More information

MEAP Edition Manning Early Access Program Get Programming with Java Version 1

MEAP Edition Manning Early Access Program Get Programming with Java Version 1 MEAP Edition Manning Early Access Program Get Programming with Java Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome First,

More information

In this tutorial we are going to take a look at the CentovaCast 3 control panel running ShoutCast 2 and explain some of the basic features.

In this tutorial we are going to take a look at the CentovaCast 3 control panel running ShoutCast 2 and explain some of the basic features. CentovaCast 3 - Shoutcast2 Overview In this tutorial we are going to take a look at the CentovaCast 3 control panel running ShoutCast 2 and explain some of the basic features. Details Once you purchase

More information

Oracle Enterprise Manager Oracle Database and Application Testing. Application Testing Suite Lab. Session S318966

Oracle Enterprise Manager Oracle Database and Application Testing. Application Testing Suite Lab. Session S318966 Oracle Enterprise Manager Oracle Database and Application Testing Application Testing Suite Lab Session S318966 Oracle Enterprise Manager 11g Application Testing Suite 9.1 Hands on Lab Introduction to

More information

WebSphere Application Server V7: Administration Consoles and Commands

WebSphere Application Server V7: Administration Consoles and Commands Chapter 5 of WebSphere Application Server V7 Administration and Configuration Guide, SG24-7615 WebSphere Application Server V7: Administration Consoles and Commands WebSphere application server properties

More information

Searching Oracle Database 11g

Searching Oracle Database 11g Searching Oracle Database 11g Roger Ford Senior Principal Product Manager, Search Products Secure Enterprise Search Page 2 Hands-On Lab - Search Oracle Database 11g Table Of Contents Secure Enterprise

More information

Orgnazition of This Part

Orgnazition of This Part Orgnazition of This Part Table of Contents Tutorial: Organization of This Part...1 Lesson 1: Starting JReport Enterprise Server and Viewing Reports...3 Introduction...3 Installing JReport Enterprise Server...3

More information

Enhydra 6.2 Application Architecture. Tanja Jovanovic

Enhydra 6.2 Application Architecture. Tanja Jovanovic Enhydra 6.2 Application Architecture Tanja Jovanovic Table of Contents 1.Introduction...1 2. The Application Object... 2 3. The Presentation Object... 4 4. Writing Presentation Objects with XMLC... 6 5.

More information

Section 2: Developer tools and you. Alex Mariakakis (staff-wide)

Section 2: Developer tools and you. Alex Mariakakis (staff-wide) Section 2: Developer tools and you Alex Mariakakis cse331-staff@cs.washington.edu (staff-wide) What is an SSH client? Uses the secure shell protocol (SSH) to connect to a remote computer o Enables you

More information

IBM WebSphere Java Batch Lab

IBM WebSphere Java Batch Lab IBM WebSphere Java Batch Lab What are we going to do? First we are going to set up a development environment on your workstation. Download and install Eclipse IBM WebSphere Developer Tools IBM Liberty

More information

Salesforce Classic Mobile Guide for iphone

Salesforce Classic Mobile Guide for iphone Salesforce Classic Mobile Guide for iphone Version 41.0, Winter 18 @salesforcedocs Last updated: November 30, 2017 Copyright 2000 2017 salesforce.com, inc. All rights reserved. Salesforce is a registered

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

MYOB Exo PC Clock. User Guide

MYOB Exo PC Clock. User Guide MYOB Exo PC Clock User Guide 2018.01 Table of Contents Introduction to MYOB Exo PC Clock... 1 Installation & Setup... 2 Server-based... 2 Standalone... 3 Using Exo PC Clock... 4 Clocking Times... 5 Updating

More information