JAAS - почему мой импорт .jsp не работает? - PullRequest
0 голосов
/ 03 мая 2011

У меня есть файл JSP ниже:

<%@page import="RdbmsLoginModule, PassiveCallbackHandler" %>
<%@page import="SessionLoginContext" %>
<%@page import="javax.security.auth.login.LoginContext, java.util.*" %>
<%@page import="java.io.*" %>

<!-- 
index.jsp: Simple JSP page to test a session-based LoginContext.
-->

<%
if(request.getParameter("user")==null) {
%>
<form action="jaas.jsp" method="POST">
    <input type=text name=user value=""><br>
    <input type=text name=pass value=""><br>
    <input type=submit value=submit>
</form>
<%
} else {
// just so you can see the debug messages
//System.setOut(new PrintStream(response.getOutputStream()));

String user = request.getParameter("user");
String pass = request.getParameter("pass");

PassiveCallbackHandler cbh = new PassiveCallbackHandler(user, pass);

SessionLoginContext lc = new SessionLoginContext("Example", cbh);

session.setMaxInactiveInterval(10); // 10 second timeout

// Setting the SessionLoginContext object in the Session 
// will trigger the valueBound() method in the object which 
// calls login() on the SessionLoginContext. Having set the 
// timeout to 10 seconds, the valueUnbound() method will be 
// called after 10 seconds of inactivity and log the user out.
//
session.setAttribute("loginContext", lc);

Iterator it = lc.getSubject().getPrincipals().iterator();
   while(it.hasNext()) out.println("authenticated principal: " + it.next().toString() + "<br>");

    it = lc.getSubject().getPublicCredentials(Properties.class).iterator();

  while (it.hasNext()) 
    out.println(it.next().toString());

  lc.logout();
 }
 %>

И я продолжаю получать следующую ошибку:

 HTTP Status 500 -

 type Exception report

 message

 descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

 exception

 org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP

 PWC6199: Generated servlet error:
 string:///index_jsp.java:6: '.' expected

 PWC6199: Generated servlet error:
 string:///index_jsp.java:6: ';' expected

 PWC6199: Generated servlet error:
 string:///index_jsp.java:7: class, interface, or enum expected

 PWC6199: Generated servlet error:
 string:///index_jsp.java:8: '.' expected

 PWC6199: Generated servlet error:
 string:///index_jsp.java:8: ';' expected

 PWC6199: Generated servlet error:
 string:///index_jsp.java:9: class, interface, or enum expected

Как это вызвано и как я могу решить эту проблему?

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Хорошо, так что я понял это ... было действительно глупо, когда я об этом думаю.Мне нужно было сослаться на другие файлы, указав им собственную папку, поэтому чтобы открыть экран входа в систему, мне пришлось изменить приведенный выше код следующим образом:

<%@page import="RdbmsLoginModule.RdbmsLoginModule,PassiveCallbackHandler.PassiveCallbackHandler" %>         

<%@page import="SessionLoginContext.SessionLoginContext" %>

Кроме того Чтобы получитьте другие классы, чтобы функционировать должным образом, я должен был поместить:

  package RdbmsLoginModule;// in the RdbmsLoginModule class
  package PassiveCallbackHandler; //in the PassiveCallbackHandler class

  etc. . . .

Материал новичка, которого я знаю, но эй, я новичок.,,Я никогда больше не сделаю эту ошибку (по крайней мере, и не знаю, как ее исправить:)

Спасибо всем за попытку помочь.

1 голос
/ 03 мая 2011

Это немного, но попробуйте удалить пробел между RdbmsLoginModule и PassiveCallbackHandler. Так это выглядит:

import="RdbmsLoginModule,PassiveCallbackHandler"
...