Jsp lapas, kā nosūtīt parametrus, GET un POST metodi servletos

Satura rādītājs

Viss dinamiskais tīmeklis nosūta un saņem parametrus, kas ir veids, kā lietotājs var nosūtīt informāciju uz Http serveri. Piemēram, parastā pieteikšanās ekrānā mums ir jānosūta lietotājvārds un parole serverim, lai to apstiprinātu.
Tīmekļa servera vai HTTP servera apmācībā ir izskaidrots, kā pārlūkprogramma nosūta šos parametrus, izmantojot GET vai POST metodi. Šajā apmācībā mēs redzēsim to, kā izgūt pieteikšanās informāciju serverī, izmantojot Servlet API.
Pirmā lieta, ko mēs darīsim, ir izveidot mūsu vietnē login.html lapu ar šādu saturu:
 
Lietotājs
Atslēga

Nākamā lieta ir izveidot Servletu, kas saņem pieprasījumu / login, kas ir adrese, kas norādīta taga login.html darbības atribūtā.
 pakete com.login.servlets; importēt java.io.IOException; importēt java.io.PrintWriter; importēt javax.servlet.ServletException; importēt javax.servlet.http.HttpServlet; importēt javax.servlet.http.HttpServletRequest; importēt javax.servlet.http.HttpServletResponse; publiskās klases LoginServlet paplašina HttpServlet {@Orride protected void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String user = req.getParameter ("user"); String pass = req.getParameter ("parole"); if ("login" .quals (lietotājs) && "login" .equals (pass)) {response (resp., "login ok"); } cits {atbilde (resp., "Pieteikšanās kļūda"); }} privāta tukša atbilde (HttpServletResponse resp, String msg) izmet IOException {PrintWriter out = resp.getWriter (); out.println (""); out.println (""); out.println ("" + ziņa + ""); out.println (""); out.println (""); }}

Mēs to apkopojam Servlets un mēs iekļaujam LoginServlet.class Adrešu grāmatā / WEB-INF / nodarbības.
Mēs modificējam web.xml uz saiti / pieteikšanos ar šo servletu.
 login-servlet com.login.servlets.LoginServlet login-servlet / login 

Mēs restartējam serveri, atveram lapu login.html, ievietojam lietotājā x, parolē x un nospiedam pogu Iesniegt.
Problēma ir tā, ka slepenā parole ir redzama vietrādī URL… / pieteikšanās? vai to var labot, mainot veidlapu iesniegšanas metodi uz POST vietnē login.html.
 
Lietotājs
Atslēga

Šeit notiek tas, ka mēs neesam ieviesuši doPost metodi (mēs ieviešam tikai doGet), tāpēc mūsu Servlet nevar saņemt POST pieprasījumus. Šis kods parāda nepieciešamās izmaiņas, lai tas darbotos.
 pakete com.login.servlets; importēt java.io.IOException; importēt java.io.PrintWriter; importēt javax.servlet.ServletException; importēt javax.servlet.http.HttpServlet; importēt javax.servlet.http.HttpServletRequest; importēt javax.servlet.http.HttpServletResponse; publiskās klases LoginServlet paplašina HttpServlet {@Orride protected void doPost (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String user = req.getParameter ("user"); String pass = req.getParameter ("atslēga"); if ("admin" .quals (user) && "atx123" .equals (pass)) {response (resp, "login ok"); } cits {atbilde (resp., "Pieteikšanās kļūda"); }} privāta tukša atbilde (HttpServletResponse resp, String msg) met IOException {PrintWriter out = resp.getWriter (); out.println (""); out.println (""); out.println ("" + ziņa + ""); out.println (""); out.println (""); }}

Vienīgās izmaiņas ir tādas, ka es aizstāju doGet ar doPost. Pēc servleta atkārtotas apkopošanas un izvietošanas, servera restartēšanas un login.html atkārtotas izmantošanas tas atkal darbojas normāli.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu
wave wave wave wave wave