2017-09-07 13 views
-2

私はWebベースの病院管理システムを開発しています。私のアプリケーションでは正常に機能しています。しかし、ここで私の質問は、管理者が同じように自分のアカウントMySQLを使用しているユーザーに基づいてユーザーの詳細を取得する方法は?

patientid Patient Name DOB   Gender 
PAT39539 ABC   20/12/2000 male 
-------  ---   ---------  ---- 
-------  ---   ---------  ---- 
-------  ---   ---------  ---- 

で特定のユーザーを選択すると、特定のユーザーの詳細を取得する方法である賢明Nユーザーアカウントの数がそれぞれの情報がそこにロードされています。管理者が1つのアカウントを選択する場合は、のJSPで特定のユーザーの詳細を取得する必要があります。

+1

これまでに試したコード/スニペットを投稿できますか? – TechnoCrat

+0

私はここにこだわっているので、アイデアはありません。私ができるように参考にすることができます – dell

+0

このhttps://lazicbrano.wordpress.com/2013/08/01/connect-java-application-to -database /あなたに役立つはずです。この記事では、特定のIDに対してデータを返すメソッドselectByIdがあります。同様に、ユーザーIDを渡してそのユーザーのデータを取得することもできます。 – TechnoCrat

答えて

0

私はあなたがどこにいなくて、あなたが最後に達成しようとしたことがわかりません。あなたはjspのみをタグ付けしているので、私はUIからuserIdを受け取り、それに基づいてUser Entityを返すいくつかのサンプルメソッドを提供しています。

メソッドの内部に保管していますが、プロパティファイルにDB値を保存しておくと便利です。

ユーザーが特定のユーザーをクリックすると、ユーザーIDをservlet/javaの部分に送信します。サンプルユーザの詳細テーブル、

<table> 
<tr> 
    <th>User ID</th> 
    <th>User Name</th> 
    <th>DOB</th> 
    <th>Gender</th> 
</tr> 
<c:forEach items="${users}" var="user"> 
    <tr> 
     <td><a href="GetUserDetails?userId=${user.userId}">${user.userId}</a></td> 
     <td>${user.userName}</td> 
     <td>${user.dob%}</td> 
     <td>${user.gender}</td> 
    </tr> 
</c:forEach> 
</table> 

サーブレット/ Javaの:

@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    Class.forName("com.mysql.jdbc.Driver"); 
    String url = "jdbc:mysql://localhost:3306/dbname"; 
    String user = "root"; 
    String password = "root"; 
    Connection con = DriverManager.getConnection(url, user, password); 
    String userId = request.getparameter("userId"); 
    String query = "SELECT userid,username from Users WHERE userid = ?"; 
    PreparedStatement stmt = con.prepareStatement(query); 
    stmt.setInt(1, userId); 
    ResultSet rs = stt.executeQuery(); 
    User userObj = new User(); 
    // Assumed it will return single object. 
    while (rs.next()){ 
     userObj.setUserId(rs.getInt("userid"); 
     userObj.setUserName(rs.getString("username"); 
    } 

    // Close these in reverse order of creation 
    rs.close(); 
    stmt.close();  
    con.close(); 
    request.setAttribute("user", userObj); // Will be available as ${user} in JSP 
    request.getRequestDispatcher("/WEB-INF/user.jsp").forward(request, response); 
} 

そして、あなたのweb.xml

<servlet> 
    <servlet-name>myservlet</servlet-name> 
    <servlet-class>com.stackoverflow.examples.GetUserDetails</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>myservlet</servlet-name> 
    <url-pattern>/GetUserDetails</url-pattern> 
</servlet-mapping> 

が最後にあなたのuser.jspページでユーザーオブジェクトから値を取得する、のように見えますこのように直接的には、${user.userName}。これが役に立ったら教えてください。

乾杯!

関連する問題