テキストファイルから入力されたユーザー名とパスワードを比較し、ユーザー名/パスワードが間違っているかアクセスが許可されているかを表示するログインフォームを作成しました。応答を取得し、サーブレットの応答に従って動作するJavascriptコード
<form role="form" action="/traveositelogin" method="post">
<div class="form-group">
<label class="sr-only" for="form-username">Username</label>
<input type="text" placeholder="Username..." class="form-username form-control" id="username">
<p id="UsernameIncorrect" hidden>Incorrect Username. Try Again</p>
</div>
<div class="form-group">
<label class="sr-only" for="form-password">Password</label>
<input type="password" placeholder="Password..." class="form-password form-control" id="password">
<P id="PasswordIncorrect" hidden>Incorrect Password. Try Again.</p>
</div>
<button type="submit" class="btn" id="Login">Login</button>
<p><a href="contact.html"> Forgot Password?</a></p>
<div class="form-group">
</div>
これは私のサーブレットのコードです:
package com.traveosoft;
import java.io.IOException;
import java.util.Properties;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
import java.io.FileInputStream;
import java.io.InputStreamReader;
public class TraveoWebsiteLoginServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.setContentType("text/plain");
resp.getWriter().println("Hello, this is a testing servlet. \n\n");
Properties p = System.getProperties();
p.list(resp.getWriter());
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
String filePath = "{login.txt}";
String username = null;
String password = null;
//resp.setContentType("text/plain");
//resp.getWriter().println("Hello, this is a testing servlet. Post method \n\n");
//Properties p = System.getProperties();
//p.list(resp.getWriter());
if (req.getParameter("Login")!= null)
{
username = req.getParameter("username");
password = req.getParameter("password");
//resp.sendRedirect("index.html");
}
try
{
FileInputStream fstream = new FileInputStream("login.txt");
// Use DataInputStream to read binary NOT text.
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
int count = 0;
while((strLine = br.readLine())!= null)
{
//Enter userName
String[] creds = strLine.split(",");
System.out.println("creds[0], creds[1]:" + creds[0] + "," +creds[1]);
//System.out.println("User name from the file is:"+ creds[0]);
if (creds[0].equals(username))
{
//user name matches. So we need to check for password now
count++;
if (creds[1].equals (password))
{
//Great... password also matches. Allow the user access to our repository
System.out.println("Allow access");
}
else
{
// Password didn't match. Ask the user to reenter the password
System.out.println("Wrong password. Try Again.");
}
break;
}
//strLine = br.readLine();
//count++;
//Enter Password
//System.out.println("Password from the file is:"+ creds[1]);
}
if (count == 0)
{
// No user name matched with the user name entered by the user. So user name itself is wrong
System.out.println("Your user name is wrong. Try Again.");
}
fstream.close();
br.close();
}
catch (Exception e)
{
System.err.println("Error: " + e.getMessage());
}
}
}
は、どのように私は、ユーザー名が間違っているとき、版画「ユーザ名が間違っている」と、JavaScriptコードを書くことができます。パスワードが間違っていると、 "パスワードが間違っています"と表示されます。両方が正しい場合は、リソースが保存されているページへのハイパーリンク参照を置くことができます。
jspファイルの代わりにjavascriptのサンプルコードをいただければ幸いです。私はまだこのすべてを学んでいます、どんな助けも本当に感謝します。前もって感謝します。
を送信することに関連するリンクである
// Responseオブジェクト:[「ユーザー名および/またはパスワードが無効です。」 - なぜウェブサイトを行いますどのようなものが間違っているかをユーザに知らせるのではなく、このようなメッセージを表示してください。](https://security.stackexchange.com/questions/17816/username-and-or-password-invalid-why-do-websites-show-thisメッセージの種類-i /) – Andreas
@ Andreas私は応答に応じてJavaScriptコードを書こうと思っていました。 –