2016-03-19 14 views
0

私はサーブレットコントローラにクラスを入れてみましたが、コンストラクタと設定メソッドのアクセスに問題があります。私はビジネスロジックを分離するために効率を改善していますが、私はJavaBeanに入れようとしましたが、コントローラーからパラメーターを送る方法はまだ分かりません。私はまだ多くのことを学び、プロジェクトに取り組んでいます。サーブレットから別のクラスにMVCのビジネスロジックを実装するにはどうすればよいですか?

+0

私はSpring MVCを見ることをお勧めします。すべての配管はすでに処理されており、コントローラメソッドとHTMLテンプレートを作成するだけで済みます。 – chrylis

+0

ありがとう、クリスリス。私はそれを調べるだろう。 –

答えて

0

EJBを使用して、JavaEEプラットフォーム内のプレゼンテーション層(サーブレットとJSP)からビジネスロジックを分離することができます。プロジェクトにビジネスロジックコードがあまりない場合は、単にJava POJOクラスを使用してください。 This example gives very raw idea. you can use web frameworks which have built in MVC design.

Controller: 使用サーブレットは、ナビゲーションを制御したりHTTP要求に対して他のタスクを実行します。

@WebServlet("/LoginServlet") 
public class LoginServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 


    public LoginServlet() { 
     super(); 
    } 



    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     LoginManager loginManager=new LoginManager(); 
     if(loginManager.isValidUser("getUserID from request Params","password from request params")){ 
      //initialize user session and redirect to dashboard 
      //response.sendRedirect("/userhome.jsp"); 
     }else{ 
      //display failure messages. etc... 
      //response.sendRedirect("/login.jsp"); 
     } 
    } 

} 

Model:ログイン関連操作のための一連のメソッドが含まれてい POJO。

public class LoginManager { 

    private Connection con; 

    public LoginManager() { 

    } 

    private void initConnection(){ 
     //register driver class and create a new connection 
     //you can create separate DBUtils class to get new connections 
     //to prevent boilerplate code. 

     //make new connection to database 
//  con=.. 
    } 

    private void closeConnection() throws SQLException{ 
     con.close(); 
    } 

    public boolean isValidUser(String user,String password) throws SQLException{ 
     initConnection(); 
     PreparedStatement pstm=con.prepareStatement("select 1 from users where userID = ? and password=?"); 

// のResultSet rsをのparamsユーザーIDとパスワードを設定=​​ pstm.executeQuery();

 if (rs.next()){ 
      if(checkpassword.....) 
      return true; 
     } 
     closeConnection(); 
     return false; 
    } 
} 

Viewlogin.jspuserhome.jspページのよう

ページが図です。

+0

ありがとうございました、AsSIDe、chrylis。私はMurachのサーブレットとJSPの第二版を読んでいます。読書リストにWebフレームワークを追加します。 –

関連する問題