2016-12-27 8 views
0

こんにちは私はログイン登録ページを書いています。ページはデータベースとユーザー名のパスワードをチェックしていて、正しい場合は新しいJSPページにアクセスできます。そして "welcome + username"を表示します。どうやってやるの ?私はインターネット上で検索し、私はコードの下で声を出した。しかし、それは動作しません。私がそれを実行すると "ウェルカムヌル"が返されます。あなたは、属性を設定する必要が属性 "ユーザ名" を読むことができる前に、私はsuccess.jspjspのセッションから属性を取得する

success.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<body background="http://www.teamarking.com/barcode/bar_background.jpg"> 


<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<title>JSP Page</title> 

    </head> 
    <ul> 
    <li><% 
    out.println("<a href='music.jsp'>Music</a>"); 
    %> 
    </li> 
    <li><% 
    out.println("<a href='sport.jsp'>Sport</a>"); 
    %></li> 
    <li> <% 
    out.println("<a href='stage.jsp'>Stage</a>"); 
    %></li> 
    <li> <% 
    out.println("<a href='family.jsp'>Family</a>"); 
    %></li> 
    <li> <% 
    out.println("<a href='education.jsp'>Education</a>"); 
    %></li> 
    </ul> 
    <div class="landscape"> 
    <% 
    String username = (String) request.getSession().getAttribute("username"); 
    session.setAttribute("username", username); 

    out.println("welcome" + username); 

    out.println(
     "<a href='logout.jsp'>Log out</a>"); 

    out.println(
     "<a href='myreservations.jsp'>My Reservations</a>"); 
    %> 
    </div> 
    </body> 
    </html> 

login.jspを

<%@ page import ="java.sql.*" %> 
    <% 
    String username = request.getParameter("username"); 
    String password = request.getParameter("password"); 
    Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance(); 
    Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/users", "users", "123"); 
    Statement st = con.createStatement(); 
    ResultSet rs; 
    rs = st.executeQuery("select * from users where username='" + username + "' and password='" + password + "'"); 
    if (rs.next()) { 
    session.setAttribute("username", username); 
    response.sendRedirect("success.jsp"); 
    } else { 
    out.println("Invalid password <a href='index.jsp'>try again</a>"); 
    } 
    st.close(); 
    %> 
+0

セッション属性に「username」を入れるコードを表示してください。 –

+0

私のコード – tripley

答えて

0

でこれをしたいです。したがって、setAttribute()関数を使用する必要があります。

request.getSession().setAttribute("username", nameOfUser); 

ユーザー名とパスワードを確認または確認した後、このコードを使用する必要があります。残りのコード(検証が行われる部分)を表示できますか?

+0

を更新したのですが、別のJSPページでこのユーザー名の値を取得するにはどうすればいいですか? – tripley

+0

それは変です。私はsuccess.jspの 'session.setAttribute(" username "、username);というコードは必要ないと思います。 'request.getSession()。getAttribute(" username ")'を 'session.getAttribute(" username ")'に変更できますか? –

関連する問題