2016-03-04 148 views
-2

我试图从服务器中检索用户名和密码,但我遇到了问题。我必须获取参数并使用它们来验证输入(用户名/密码)是否正确并存在于服务器中。 但是,我不知道该怎么做。我试图将变量声明为null,但问题是它会检查用户= null与通过= null存在于服务器,它不会。需要帮助从服务器获取用户名和密码

<!DOCTYPE html> 
<html> 
    <head><title>Skiftkode</title></head> 
    <h1>Log ind</h1> 
    <body> 
     <form method="post" action="Skiftkode.jsp"> 
      Brugernavn (studienummer): <input type="text" name="brugernavn"> <br> 
      Adgangskode: <input type="password" name="adgangskode"> <br> 
      <input type="submit" value="Log ind"> 
     </form> 
     <% 
       QName qname = new QName("http://soap.transport.brugerautorisation/", "BrugeradminImplService"); 
       URL url = new URL("http://javabog.dk:9901/brugeradmin?wsdl"); 

       Service service = Service.create(url, qname); //I'm connecting to the server here, and it connects 
       Brugeradmin ba = service.getPort(Brugeradmin.class); 

       Bruger b = ba.hentBruger(String brugernavn, String kode); //Here, I'm trying to retrieve an account. Now it says 

       String bn, ak; 

       bn = request.getParameter("brugernavn"); 
       ak = request.getParameter("adgangskode"); 
       if (user.equals(bn) && password.equals(ak)) { //here I'm checking whether it exists or not 
        // sæt attributten "logget ind" i sessionen 
        session.setAttribute("logget ind", "ja"); 
        out.println("Du er logget korrekt ind.<br>"); 
       } else { 
        session.removeAttribute("logget ind"); 
        out.println("Fejl"); 
       } 
     %> 
    </body> 
</html> 

这是该方法的接口:

@WebService 
public interface Brugeradmin 
{ 

    @WebMethod Bruger hentBruger(String brugernavn, String adgangskode); 

    @WebMethod Bruger ændrAdgangskode(String brugernavn, String adgangskode, String nyAdgangskode); 

    @WebMethod void sendEmail(String brugernavn, String adgangskode, String emne, String tekst); 

    @WebMethod void sendGlemtAdgangskodeEmail(String brugernavn, String følgetekst); 

    @WebMethod void setEkstraFelt(String brugernavn, String adgangskode, String feltnavn, Object værdi); 

    @WebMethod Object getEkstraFelt(String brugernavn, String adgangskode, String feltnavn); 
} 
+0

你想发送密码返回给客户端? –

+0

我想检查输入(用户名/密码)是否存在于服务器中。例如,我们来说说Stackoverflow。你必须写下你的用户名/电子邮件和密码,然后服务器会检查帐户是否存在。在我的情况下,如果该帐户存在,它必须打印'out.println(“Du er logget korrekt ind。
”)' – Hudhud

+0

您想在哪里进行身份验证?数据库? –

回答

0

我的猜测是,API应当使用如下:

 if (request.getMethod().equals("POST")) { // Form data sent 
      String bn = request.getParameter("brugernavn"); 
      String ak = request.getParameter("adgangskode"); 
      Bruger b = ba.hentBruger(bn, ak); 
      if (b != null && b. ...) { 
       ... 
+0

我不能直接写下来,直到'布鲁格b = ba.hentBruger(bn,ak); out.println(“成功”)'? – Hudhud

+0

试试吧 - 我不知道。应该有一些失败通知。祝你好运。 –