Presentation is loading. Please wait.

Presentation is loading. Please wait.

Server-Side Scripting with Java Server Page, JSP ISYS 350.

Similar presentations


Presentation on theme: "Server-Side Scripting with Java Server Page, JSP ISYS 350."— Presentation transcript:

1 Server-Side Scripting with Java Server Page, JSP ISYS 350

2 Java Website Java Tutorial: – http://docs.oracle.com/javase/tutorial/ http://docs.oracle.com/javase/tutorial/ JSP, Servlet tutorial: – http://www.apl.jhu.edu/~hall/java/Servlet- Tutorial/ http://www.apl.jhu.edu/~hall/java/Servlet- Tutorial/

3 Java Platforms Java SE (Standard Edition) provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, etc. Java EE (Enterprise Edition) is built on top of the Java SE platform for developing and running large-scale, multi- tiered, scalable, reliable, and secure network applications. Java ME (Mobile Edition) provides an API and a small- footprint virtual machine for running Java programming language applications on small devices, like mobile phones.

4 Using Java Classes To develop Java applications, we need to use many different Java classes. Groups of related Java classes are organized into packages. To use a class from a package we use the “import” statement to import the class.

5

6

7 Hyper Text Transfer Protocol: Request & Response Web Server Browser HTTP Request HTTP Response Web Application

8 Data Sent with Request and Response Request: – requested URL, cookies, queryString, data from a form, etc. Response: – Web page content in HTML code – Cookies – Etc.

9 JSP Implicit Objects Implicit Objects in JSP are objects that are automatically available in JSP. Implicit Objects are Java objects that the JSP Container provides to a developer to access them in their program. – request: The request object retrieves the values that the client browser passed to the server during an HTTP request – response: This denotes the HTTP Response data. – Session: This denotes the data associated with a specific session of user. The main use of Session Objects is for maintaining states when there are multiple page requests. – Out

10 Methods of request Object http://gulland.com/courses/jsp/objects getParameter(String name): Returns the value of a request parameter as a String, or null if the parameter does not exist. getQueryString(): Gets any query string that is part of the HTTP request URI. getCookies(): Gets the array of cookies found in this request. getRequestURI(): Gets the URI to the current JSP page. etc.

11 Methods of response Object addCookie(Cookie): Adds the specified cookie to the response. It can be called multiple times to set more than one cookie. sendRedirect(String): Sends a temporary redirect response to the client using the specified redirect location URL.

12 JSP Out Object clearBuffer: The clearBuffer method of out object is used to clear the output buffer. println: The println method of out object is used to write the value to the output, including the newline character. – Ex. out.println("The Output is:" + ex); print: The print method of out object writes the value to the output without a newline character. out.print("Welcome!!!"); out.print("To JSP Training"); Output is: Welcome!!! To JSP Training

13 Use JSP to Process a Form

14 FORM Form attribute: – Method: Preferred method is: Post – Action: Specify the URL of a program on a server or an email address to which a form’s data will be submitted. – Method: Post/Get Button: – Type = “submit”

15

16 Compute the Sum of 2 Numbers:

17 Form Example Compute the sum of two numbers Enter num1: Enter num2:

18 Example of JSP scriptlet Compute the Sum of 2 Numbers: <% String value1, value2; double n1, n2, sum; value1=request.getParameter("num1"); value2=request.getParameter("num2"); n1= Double.parseDouble(value1); n2= Double.parseDouble(value2); sum=n1+n2; out.println("The sum is:" + sum); %> Note 1: Double is an object, not “double” data type. Note 2: “out” is an implicit object that does not need to be declared. It is already predefined.

19 Writing HTML code as output <% String value1, value2; double n1, n2, sum; value1=request.getParameter("num1"); value2=request.getParameter("num2"); n1= Double.parseDouble(value1); n2= Double.parseDouble(value2); sum=n1+n2; out.println(" Value1: "); out.println(" Value2: "); out.println("The sum is: " ); %>

20 Using JSP Expression: return a string, String value1, value2; double n1, n2, sum; value1=request.getParameter("num1"); value2=request.getParameter("num2"); n1= Double.parseDouble(value1); n2= Double.parseDouble(value2); sum=n1+n2; %> Value1: "> Value2: "> Sum is: ">

21 Import Java Class Example: Display Current Date Time Import java.util.Date – %@page import="java.util.Date"% Define a Date type variable: – Date now = new Date(); Display in textbox using JSP expression: The time is: ">

22 Compute Future Value: Process form with various controls

23 Form Code Enter present value: Select interest rate: 4% 5% 6% 7% 8% Select year: 10-year 15-year 30-year

24 JSP Code Example <% String myPV, myRate, myYear; myPV=request.getParameter("PV"); myRate=request.getParameter("Rate"); myYear=request.getParameter("Year"); double FV, PV, Rate, Year; PV=Double.parseDouble(myPV); Rate=Double.parseDouble(myRate); Year=Double.parseDouble(myYear); FV=PV*Math.pow(1+Rate,Year); out.println("FutureValue is:"+ FV); %>

25 Using the get method Querystring: – http://localhost:8080/DemoM262/computeFVget.jsp?PV= 1000&Rate=.04&Year=10&btnCompute=ComputeFVJSP http://localhost:8080/DemoM262/computeFVget.jsp?PV= 1000&Rate=.04&Year=10&btnCompute=ComputeFVJSP Code: String qString; qString=request.getQueryString(); out.println(qString);

26 Use the same getParameter() method to accessing data submitted with a querystring <% String myPV, myRate, myYear; myPV=request.getParameter("PV"); myRate=request.getParameter("Rate"); myYear=request.getParameter("Year"); double FV, PV, Rate, Year; PV=Double.parseDouble(myPV); Rate=Double.parseDouble(myRate); Year=Double.parseDouble(myYear); FV=PV*Math.pow(1+Rate,Year); out.println("FutureValue is:"+ FV); %>

27 Use Client-Side Validating and Sumbit Validated Form <!-- function Validating(){ var Valid; Valid=true; if (document.fvForm.PV.value=="") {Valid=false;} if (Valid==false){alert("Cannot contain blank");} else {document.fvForm.submit();} } --> Note: Must use a standard button, not submit button:

28 Depreciation Table Straight Line Depreciation Table Enter Property Value: Enter Property Life:

29 Output

30 <% String strValue, strLife; strValue=request.getParameter("pValue"); strLife=request.getParameter("pLife"); double value, life, depreciation,totalDepreciation=0; value=Double.parseDouble(strValue); life=Double.parseDouble(strLife); NumberFormat nf = NumberFormat.getCurrencyInstance(); out.println("Straight Line Depreciation Table" + " "); out.println("Property Value: "); out.println("Property Life: "); depreciation=value/life; totalDepreciation=depreciation; out.println( " "); out.println(" Year Value at BeginYr "); out.println(" Dep During Yr Total to EndOfYr "); out.println(" "); for (int count = 1; count <= life; count++) { out.write(" "); out.write(" " + count + " "); out.write(" " + nf.format(value) + " "); out.write(" " + nf.format(depreciation) + " "); out.write(" " + nf.format(totalDepreciation) + " "); value -= depreciation; totalDepreciation+=depreciation; } %>

31 Number to Currency Format Import class: – %@page import="java.text.NumberFormat"% Define a format: – NumberFormat nf = NumberFormat.getCurrencyInstance(); Convert: – nf.format(value)

32 Cookie Cookie is a small data file added by a website to reside in user’s system. Define a cookie: – new Cookie(“Key”, “value”); – Ex. Cookie cookieCID = new Cookie ("cookieCID",CID); Write a cookie: – response.addCookie(cookieCID);

33 Example: <% String CID, Cname; CID=request.getParameter("CID"); Cname=request.getParameter("Cname"); Cookie cookieCID = new Cookie ("cookieCID",CID); response.addCookie(cookieCID); Cookie cookieCname = new Cookie ("cookieCname",Cname); response.addCookie(cookieCname); out.println("CID cookie= " + CID + "added"); out.println("Cname cookie= " + Cname + "added"); %>

34 Read Cookies: Cookie is in array object, we need to get in request.getCookies() of array <% Cookie[] cookies = request.getCookies(); out.println(cookies[0].getName() + cookies[0].getValue() + " "); out.println(cookies[1].getName() + cookies[1].getValue() + " "); %>

35 Expire a cookie Add a expiration time: – cookieCID setMaxAge(N); N is # of seconds N = 0, the cookie will be deleted right way N < 0 : the cookie will be deleted once the user exit the browser Cookie cookieCID = new Cookie ("cookieCID",CID); cookieCID setMaxAge(-1);

36 JSP Session Object Session Object denotes the data associated with a specific session of user. Methods: – session.setAttribute(“Key”, object) add an object to the session object associated with a key. – session.getId() return the unique identifier associated with the session – session.getAttribute(“key”) return the object with the specified key given in parameter

37 Add an object to session object Add Cname to session, then redirect to another page to read the cname <% Cookie[] cookies = request.getCookies(); out.println(cookies[0].getName() + cookies[0].getValue() + " "); out.println(cookies[1].getName() + cookies[1].getValue() + " "); session.setAttribute("Cname", cookies[1].getValue()); response.sendRedirect("readSession.jsp"); %>

38 Retrieve an object from session <% Object custName; custName=session.getAttribute("Cname"); out.println("Welcome, " + custName.toString()); %>


Download ppt "Server-Side Scripting with Java Server Page, JSP ISYS 350."

Similar presentations


Ads by Google