• No results found

Form Handling. Server-side Web Development and Programming. Form Handling. Server Page Model. Form data appended to request string

N/A
N/A
Protected

Academic year: 2021

Share "Form Handling. Server-side Web Development and Programming. Form Handling. Server Page Model. Form data appended to request string"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Server-side Web Development

and Programming

Lecture 3:

Introduction to Java Server Pages

2

Form Handling

• Form data appended to request string

Generates the request:

<FORM NAME="purchaseform" METHOD=GET

ACTION= http://localhost:8080/WidgetSite/receipt.jsp >

Quantity: <INPUT TYPE="text" SIZE="8" NAME="quantity" /> <BR /><BR />

<INPUT TYPE="submit" VALUE="SUBMIT"> </FORM>

3

Form Handling

Goal:

– Extract values of parameters from the request – Generate appropriate response page based on

parameter values

– Take other appropriate action based on request

• Add to shopping cart • Modify or query database

4

Server Page Model

• Html document with executable code interspersed

• When page requested:

– Code executed

– Html generated and inserted in its place

– Final all html document sent back as response request for somepage.jsp Tomcat server somepage.jsp html html Java html Java html html html html Java html html resulting html page html html html html html html html html html html html html

(2)

5

Java Server Pages

<HTML>

<HEAD><TITLE>Widget Purchase Page </TITLE></HEAD>

<BODY> <P>

Thank you for your order of

<%= request.getParameter(“quantity”) %> widgets! </P> </BODY> </HTML> 6

JSP Syntax

• Basic tag form:

<% … %>

• Simplest form:

<%=

some Java expression

%>

– Tomcat evaluates expression to get value

– Inserts that value in place of expression in generated html page 7

JSP Simple Example

• Simple example:

<html> <body> <p>

Two plus two is <%= 2 + 2 %>.

</p> </body> </html> <html> <body> <p>

Two plus two is 4. </p> </body> </html> Java Server Page Resulting html Page 2 + 2 evaluated to value of 4 8

JSP Syntax

• Basic tag form:

<% … %>

• Executes code inside brackets without generating html – Set variables later used to generate html later – Store/access values in session/databases

<html> <body>

<% int sum = 2 + 2; %> <p>

Two plus two is <%= sum %>. </p>

</body> </html>

(3)

9

JSP Syntax

<html> <body> <% int sum = 2 + 2; %> <p>

Two plus two is <%= sum %>. </p> </body> </html> Stores value of 4 in

sum

variable Value of 4 in

sum

used in this JSP <html> <body> <p>

Two plus two is 4. </p> </body> </html> No html here 10

JSP Scoping

• Variable declared in a block of JSP on a page • May be accessed by

any other JSP on same page

• No access to variable from any other page (purpose of sessions)

<html> <body>

<% int sum = 2 + 2; %> <p>

Two plus two is <%= sum %>. </p>

</body> </html>

11

Html Forms

• The

FORM

tag

<form action=”url of response page

method=”get or post”>

</form>

Relative url if response page is part of same webapp

Method by which form data is passed

12

Get vs. Post Method

Prevents bookmarking

(good if part of session that user should no be able to enter in middle)

Allows bookmarking of pages

Parameters limited to ~4k of data

No fixed limit to length of form data passed

Faster

Form data not visible

(some security against shoulder surfing, but still need encryption for total security)

Appends form data to end of URL

Must specify in FORM Default method

Post method

Get method

(4)

13

Simple Form Elements

• TEXT

tag

<input type=“text” name=“elementname”/>

• SUBMIT

tag

<input type=”submit” value=”buttonlabel”/>

Necessary for value to be sent to server

14

Form Element Example

<form action="orderReply.jsp" method="get">

<table cellspacing="5"> <tr>

<td align="right">Number to purchase:</td> <td><input type="text" name="quantity"></td> </tr><tr>

<td align="right">Your name:</td>

<td> <input type="text" name="customerName"></td> </tr><tr>

<td align="right">Your email:</td>

<td> <input type="text" name="customerEmail"></td> </tr><tr>

<td></td>

<td><input type="submit" value="Place Order"></td> </tr>

</table> <form>

15

Form Element Example

16

Form Parameter Passing

Parameter string passed:

quantity=137&customerName=John+Sullins& [email protected]

(5)

17

Handling Form Data

• request

object in JSP

– Java object created from request string

– Contains request data and methods to easily access that data

– Accessed by JSP code

Data from form Other data about request

methods to access data about the request

Code in JSP

request

18

Handling Form Data

• Most useful method:

String request.getParameter(String)

• Example:

String name =

request.getParameter("customerName");

sets the value of “

name

” to “

John Sullins

Takes name of form element as parameter Returns the corresponding

value passed to the server

19

Example JSP

<body> <%

String name = request.getParameter("customerName"); String email = request.getParameter("customerEmail"); String quantity = request.getParameter("quantity"); %>

<h2>Order Confirmation</h2> <p>

Thank you for your order of <%= quantity %> widgets, <%= name %>. </p>

<p>

You will shortly receive an email confirmation at <%= email %>. </p>

</body>

20

Acquiring Form Data

• Statements to get and store form data:

<% String name = request.getParameter("customerName"); String email = request.getParameter("customerEmail"); String quantity = request.getParameter("quantity"); %> “137” quantity “[email protected]” email “John Sullins” name

(6)

21

Displaying Values in Response

<p>

Thank you for your order of <%= quantity %>

widgets, <%= name %>.

</p><p>

You will shortly recieve an email

confirmation at <%= email %>. </p> 137 John Sullins [email protected] 22

Commenting JSP Files

• Crucial to future maintenance of site

• Inside of JSP code (between

<%

and

%>

):

// comment

/* comment */

• Outside of JSP code (that is, in html)

<!-- comment -->

23

Importing Library Classes

• Much of Java classes in separate libraries

• Must be imported to be used in JSP

• Syntax:

<%@ page import=”list of Java classes” %>

• Example:

<%@ page import=”java.util.Date, java.io.*” %> Dateclass in the util library All classes in the iolibrary

References

Related documents

Based on this, this paper mainly studies the multirobot autonomous navigation problem in power stations of smart microgrids, and multimobile robots are used to complete the

Chi’s Adventure in Ancient China Appropriate for grades 3–6, $10 Join Chi the chimera as he introduces viewers to ancient Chinese civilization through objects from the Freer and

gimmick sold in magic trick stores known as a D’Lite. I prefer the yellow or red colored ones. This item lets you produce a light at your fingertips. I shake hands using my right

The two main functions of natural ventilation are: (i) provision of good indoor air quality without any electricity demand for moving the air, and (ii)

We believe that the principles embedded in the Internet – an open communications infrastructure that foster the free flow of information along the network –

Nearly 19 percent of the licensed drivers in South Dakota were under 25, but 39.2 percent of the drinking drivers in fatal and injury accidents and 48.4 percent of the speeding

model tempat tinggal dan tempat dalam menjalankan aktivitas sehari-hari. Lomba perbaikan rumah sebagai program CSR PT. Aneka Tambang di bidang perumahan memiliki alur layaknya

Grossmont Union High School District, ROP Healing Hands School of Holistic Health International Professional School of Bodywork Los Angeles City College, Los Angeles Maric