Esimerkkejä JSP-ohjelmasta: Rekisteröinti- ja kirjautumislomake

Tässä opetusohjelmassa opastan sinut malliohjelmien kehittämisen JSP:n avulla ja MVC-arkkitehtuurin toteuttamisen tässä opetusohjelmassa.
Seuraavat ohjelmaesimerkit kehitetään:
- Ilmoittautumislomake
- Kirjautumis- ja uloskirjautumislomake
- JSP-lomake
Käytä rekisteröitymislomaketta JSP:n kautta
Rekisteröitymislomakkeessa meillä on lomake, jossa täytetään kaikki tiedot, jotka sisältävät nimen, käyttäjätunnuksen, salasanan, osoitteen, yhteysnumeron jne.
Tämä lomake auttaa meitä rekisteröitymään hakemukseen. He ottavat kaikki tietomme ja tallentavat ne a tietokanta tai välimuisti.
Tässä esimerkissä otamme "Guru-rekisteröintilomakkeen", jossa on seuraavat kentät:
- Etunimi
- Sukunimi
- Käyttäjätunnus
- Salasana
- Osoite
- Ota numero
Kun olet täyttänyt kaikki nämä tiedot, meillä on Lähetä-painike, jota napsauttamalla kaikki tiedot tallennetaan.
Esimerkki 1: Rekisteri_1.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Registration Form</title>
</head>
<body>
<h1>Guru Register Form</h1>
<form action="guru_register" method="post">
<table style="with: 50%">
<tr>
<td>First Name</td>
<td><input type="text" name="first_name" /></td>
</tr>
<tr>
<td>Last Name</td>
<td><input type="text" name="last_name" /></td>
</tr>
<tr>
<td>UserName</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td>Address</td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td>Contact No</td>
<td><input type="text" name="contact" /></td>
</tr></table>
<input type="submit" value="Submit" /></form>
</body>
</html>
Koodin selitys:
Koodirivi 11: Tässä otamme lomakkeen nimen, jolla on toiminto eli servlet, johon pyyntö käsitellään, ja servletin nimi on guru_register.java. Pyyntö käsitellään POST-menetelmällä.
Koodirivit 14-16: Tässä otamme syöttötyypin tekstiksi ja nimi on etunimi
Koodirivit 18-20: Tässä otamme syöttötyypin tekstiksi ja nimi on sukunimi
Koodirivit 22-24: Tässä otamme syöttötyypin tekstiksi ja nimi on käyttäjänimi
Koodirivit 26-28: Tässä otamme syöttötyypin salasanaksi (tämä piilottaa salasanan kirjoitettaessa) ja nimen salasanaksi
Koodirivit 30-32: Tässä otamme syöttötyypin tekstiksi ja nimen osoitteeksi
Koodirivit 34-36: Tässä otamme syöttötyypin tekstiksi ja nimen yhteystiedoksi
Koodirivi 37: Tässä otamme painikkeen, jonka tyyppi on lähetä ja arvo on myös lähetä. Napsauttamalla tätä painiketta toiminto siirtyy vastaavaan guru_register servlettiin, jossa kaikki parametriarvot välitetään pyynnössä.
Esimerkki 2: Guru_register.java
package demotest;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class guru_register
*/
public class guru_register extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String first_name = request.getParameter("first_name");
String last_name = request.getParameter("last_name");
String username = request.getParameter("username");
String password = request.getParameter("password");
String address = request.getParameter("address");
String contact = request.getParameter("contact");
if(first_name.isEmpty() || last_name.isEmpty() || username.isEmpty() ||
password.isEmpty() || address.isEmpty() || contact.isEmpty())
{
RequestDispatcher req = request.getRequestDispatcher("register_1.jsp");
req.include(request, response);
}
else
{
RequestDispatcher req = request.getRequestDispatcher("register_2.jsp");
req.forward(request, response);
}
}
}
Koodin selitys:
Koodirivi 14: Tässä määritellään guru_servlet, joka laajentaa HttpServletiä.
Koodirivi 18: Tämä toiminta doPost() menetelmä, jota kutsutaan, kun mainitsemme POST-määritteessä yllä olevassa JSP-muodossa.
Koodirivit 20-25: Tässä haemme arvot pyynnöstä i.first_name, sukunimi , käyttäjätunnus, salasana, osoite ja yhteystieto käyttämällä request.getParameter.
Koodirivit 27-32: Tässä otamme if-tilan, jossa tarkistamme minkä tahansa pyynnöstä haetun parametrin, ovatko ne tyhjiä vai eivät. Jos jokin parametreista on tyhjä, se syöttää tämän ehdon (etun_nimi.isEmpty() || sukunimi.isEmpty || käyttäjätunnus.isEmpty || salasana.isEmpty || osoite.isEmpty || contact.isEmpty()) ja meillä on noutaa RequestDispatcher-objekti käyttämällä pyyntöobjektia, joka välittää pyynnön rekisteriin_1.jsp. Tässä on myös pyyntö- ja vastausobjektit.
Koodirivit 33-37: Tämä tapaus suoritetaan, kun jokin parametreista ei ole tyhjä. Meidän on noudettava requestDispatcher-objekti käyttämällä request-objektia, joka välittää pyynnön rekisteriin register_2.jsp. Täällä välitämme pyyntö- ja vastausobjekteja.
Esimerkki 3: Rekisteri_2.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Success Page</title>
</head>
<body>
<a><b>Welcome User!!!!</b></a>
</body>
</html>
Koodin selitys:
Koodirivi 10: Tässä tervetuloa käyttäjä. Tätä JSP:tä kutsutaan, kun kaikki parametrit on täytetty.
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:
lähtö:
Kun napsautamme register_1.jsp, saamme lomakkeen, jossa on tiedot, kuten etunimi, sukunimi, käyttäjätunnus, salasana, osoite, yhteystieto. Kaikki tiedot on täytetty. Kun napsautamme Lähetä-painiketta, saamme viestin "Tervetuloa käyttäjä"
Kirjautumis- ja uloskirjautumislomake
Kuten rekisteröitymislomakkeessa, meillä on sisään- ja uloskirjautumislomake.
Tässä esimerkissä olemme ottaneet sisäänkirjautumislomakkeen, jossa meillä on kaksi kenttää "käyttäjänimi" ja "salasana" lähetyspainikkeella.
Kun napsautamme Lähetä-painiketta, saamme tervetuloviestin, jossa on uloskirjautuminen.
Kun napsautamme uloskirjautumispainiketta, palaamme sisäänkirjautumislomakkeeseen.
Esimerkki 1: Rekisteri_3.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Login Form</title>
</head>
<body>
<form action="guru_login" method="post">
<table style="with: 50%">
<tr>
<td>UserName</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>
</table>
<input type="submit" value="Login" /></form>
</body>
</html>
Koodin selitys:
Koodirivi 10: Tässä otamme lomakkeen nimen, jolla on toiminto eli servlet, jolle se on välitetty, on guru_login.java. Menetelmä, jonka kautta se välittää POST-testinsä.
Koodirivit 13-16: Tässä otamme syöttökentän "käyttäjänimi", joka on tyyppiä teksti.
Koodirivit 17-20: Tässä otamme syöttökentän "salasana", joka on salasanatyyppinen.
Koodirivi 22: Tässä otamme "Lähetä" -painikkeen arvolla "Login", jota napsautamme, ja sitten se menee servlet-guru_loginiin, jossa molemmat kentät otetaan pyyntöobjektin avulla.
Guru_login.java(servlet)
package demotest;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class guru_login
*/
public class guru_login extends HttpServlet {
public guru_login() {
super();
// TODO Auto-generated constructor stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String username = request.getParameter("username");
String password = request.getParameter("password");
if(username.isEmpty() || password.isEmpty() )
{
RequestDispatcher req = request.getRequestDispatcher("register_3.jsp");
req.include(request, response);
}
else
{
RequestDispatcher req = request.getRequestDispatcher("register_4.jsp");
req.forward(request, response);
}
}
}
Koodin selitys:
Koodirivit 5-9: Tässä tuomme koodiin tarvittavat tuonnit.
Koodirivi 14: Tässä otamme guru_login-servletin, joka laajentaa HttpServlet-palvelinta.
Koodirivi 21: Tässä me käytämme doPost() menetelmällä, kuten siinä muodossa, jossa käytämme POST-menetelmää.
Koodirivit 23-24: Tässä otetaan parametrit pyyntöobjektin eli käyttäjätunnuksen ja salasanan avulla.
Koodirivit 25-29: Tällä tavalla otamme "jos"-tilan, jossa tarkistamme käyttäjätunnuksen ja salasanan ovatko ne tyhjiä vai eivät. Tässä tapauksessa, jos se on tyhjä, saamme requestdispatcher-objektin, joka välittää edelleen register_3.jsp:lle pyyntö- ja vastausobjektien kanssa.
Koodirivit 30-34: Tämä suoritetaan, jos molemmat eivät ole tyhjiä, niin se välittää pyynnön register_4.jsp:lle pyyntö- ja vastausobjekteilla.
Esimerkki 2: Rekisteri_4.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Logged In</title>
</head>
<body>
<table style="with: 50%">
<tr><td>
<% String username = request.getParameter("username"); %>
<a>Welcome <% out.println(username); %> User!!!! You have logged in.</a></td></tr>
<tr></tr><tr><td></td><td></td><td><a href="register_3.jsp"><b>Logout</b></a></td></tr>
</table>
</body>
</html>
Koodin selitys:
Koodirivi 12: Tässä saamme parametrin "username" pyyntöobjektista merkkijonoobjektin käyttäjänimessä.
Koodirivi 13: Tässä meillä on tervetuloviesti käyttäjätunnuksella.
Koodirivi 14: Tässä linkki kirjautuaksesi ulos lomakkeesta, joka ohjaa osoitteeseen register_3.jsp.
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:
lähtö:
Täällä kun napsautamme register_3.jsp, saamme kaksi kenttää "käyttäjänimi" ja "salasana" sisäänkirjautumispainikkeella.
Kun olet napsauttanut Kirjaudu-painiketta, saat alla olevan viestin, jossa on Kirjaudu ulos -painike.
Kun napsautat uloskirjautumispainiketta, palaat kirjautumissivulle
JSP-lomakkeen käsittely käyttämällä getParameter()
JSP-lomakkeen käsittely:
Lomakkeet ovat yleinen menetelmä verkkokäsittelyssä. Meidän on lähetettävä tiedot verkkopalvelimelle ja ne tiedot.
On olemassa kaksi yleisesti käytettyä tapaa lähettää ja saada takaisin tietoja verkkopalvelimelle.
GET-menetelmä:
- Tämä on oletusmenetelmä tietojen siirtämiseksi selaimesta verkkopalvelimelle.
- Se lähettää koodatut tiedot erotettuna URL-sivulle liitetyllä merkillä.
- Sillä on myös kokorajoitus, ja voimme lähettää vain 1024 merkkiä pyynnössä.
- Meidän tulisi välttää salasanan ja arkaluonteisten tietojen lähettämistä GET-menetelmän kautta.
POST-menetelmä:
- Postitusmenetelmä on luotettavin tapa lähettää tietoja palvelimelle.
- Se lähettää tiedot erillisenä viestinä.
- Se lähettää tekstimerkkijonona URL-osoitteen ?:n jälkeen.
- Sitä käytetään yleisesti arkaluontoisten tietojen lähettämiseen.
JSP käsittelee lomaketietojen käsittelyä seuraavilla tavoilla:
getParameter(): Sitä käytetään lomakeparametrin arvon saamiseen.getParameterValues(): Sitä käytetään palauttamaan parametrien useat arvot.getParameterNames(): Sitä käytetään parametrien nimien hakemiseen.getInputStream(): Sitä käytetään asiakkaan lähettämien binääritietojen lukemiseen.
Esimerkiksi:
Tässä esimerkissä olemme ottaneet lomakkeen, jossa on kaksi kenttää."käyttäjänimi" ja "salasana" lähetä-painikkeella
Action_form.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Form</title> </head> <body> <form action="action_form_process.jsp" method="GET"> UserName: <input type="text" name="username"> <br /> Password: <input type="text" name="password" /> <input type="submit" value="Submit" /> </form> </body> </html>
Action_form_process.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Form Processing</h1>
<p><b>Welcome User:</b>
<%= request.getParameter("username")%>
</p>
</body>
</html>
Koodin selitys: Action_form.jsp
Koodirivi 10: Täällä olemme määrittäneet lomakkeen ja jonka kautta olemme prosessoineet toiminnan jollekin muulle JSP. Toimintoparametriin lisäämme sen JSP:n, johon se on käsiteltävä GET-menetelmällä.
Tässä käytämme GET-menetelmää tietojen välittämiseen eli käyttäjätunnukseen ja salasanaan.
Koodirivit 11-14: Täällä otamme kenttiä, kuten käyttäjätunnus ja salasana, jotka ovat tekstikenttiä, ja saamme syötteen käyttäjältä.
Tämä syöte voidaan noutaa getParameter-menetelmällä. Lisäksi meillä on lähetyspainike, jonka tyyppi on lähetystyyppi, joka auttaa meitä välittämään kentän arvot tiedostoon action_form_process.jsp
Action_form_process.jsp
Koodirivi 14: Täältä saamme syöttökenttien arvot tiedostosta action_form.jsp käyttämällä request-objektin getParameter-metodia.
Kun suoritamme yllä olevan koodin, saamme seuraavan tulosteen:
lähtö:
Kun suoritamme toiminnon action_form.jsp, saamme lomakkeen, jossa on kaksi kenttää käyttäjätunnus ja salasana sekä lähetyspainike. Sen jälkeen käyttäjänimen ja salasanan syöttämisen jälkeen voimme napsauttaa Lähetä, ja se etenee seuraavalle sivulle, joka antaa tulosteen lomakkeen käsittelysivuna. tervetuloviesti.







