2016-04-26 14 views
0

MVCパターンに従ってBeanを使用してデータベースに大学名を挿入しようとしていますが、挿入ボタンをクリックするたびに404 errorが表示されます。ここでは、コードJSP- JSP Beansを使用してレコードを挿入できません

JSPファイルCollegeBean.java

package college; 

public class CollegeBean { 

public String cname; 
public String ccity; 
public int year; 
public float fees; 

public String getCname() { 
    return cname; 
} 

public void setCname(String cname) { 
    this.cname = cname; 
} 

public String getCcity() { 
    return ccity; 
} 

public void setCcity(String ccity) { 
    this.ccity = ccity; 
} 

public int getYear() { 
    return year; 
} 

public void setYear(int year) { 
    this.year = year; 
} 

public float getFees() { 
    return fees; 
} 

public void setFees(float fees) { 
    this.fees = fees; 
} 


} 

CollegeDB.java

package college; 
    import java.sql.*; 
    public class CollegeDB { 
public String insertOperation(CollegeBean collegeBeanObj) throws ClassNotFoundException,SQLException 
{ 
    Class.forName("com.mysql.jdbc.Driver"); 
    Connection cn= DriverManager.getConnection("jdbc:mysql://localhost/jspractical5", "root", ""); 
    Statement st= cn.createStatement(); 
    int flag= st.executeUpdate("INSERT INTO college (c_name, c_city, c_year, c_fees) VALUES('"+collegeBeanObj.getCname()+"','"+collegeBeanObj.getCcity()+"','"+collegeBeanObj.getYear()+"','"+collegeBeanObj.getFees()+"')"); 
    if (flag!=0) 
     return "Record Inserted"; 
    else 
     return "Record not inserted"; 

} 

} 

最後に、コントローラファイルすべてのもの

を処理するサーブレット

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
    <html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Practical 5</title> 
     </head> 
     <body> 
     <h1>Insert College</h1> 
      <form action="NewServlet"> 
      Enter Name<input type="text" name="collegeName"><br> 
      Enter City<input type="text" name="collegeCity"><br> 
      Enter Year<input type="number" name="collegeYear"><br> 
      Enter Fees<input type="number" name="collegeFees"><br> 
     <input type="submit" name="Insert" value="Insert"> 

    </form> 
    <% 
    String msg=(String)request.getAttribute("msg"); 

    %> 
    <h2><%=msg%></h2> 
</body> 
</html> 

です

NewServlet.java

package college; 

import java.io.IOException; 
import java.io.PrintWriter; 
import java.sql.*; 
import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

    @WebServlet(name = "NewServlet", urlPatterns = {"/college/NewServlet"}) 
    public class NewServlet extends HttpServlet { 
    protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 
    try { 
     String name=request.getParameter("name"); 
     String city=request.getParameter("city"); 
     int year=Integer.parseInt(request.getParameter("year")); 
     float fees=Integer.parseInt(request.getParameter("fees")); 

     CollegeBean collegeBeanObj= new CollegeBean(); 
     collegeBeanObj.setCname(name); 
     collegeBeanObj.setCcity(city); 
     collegeBeanObj.setYear(year); 
     collegeBeanObj.setFees(fees); 

     CollegeDB cd= new CollegeDB(); 
     String msg= cd.insertOperation(collegeBeanObj); 
     request.setAttribute("msg", msg); 
     RequestDispatcher rd= getServletContext().getRequestDispatcher("/index.jsp"); 
     rd.forward(request, response); 
    } 
    catch(Exception e) 
    { 
     out.println(e); 
    } 
} 
@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    processRequest(request, response); 
} 
@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    processRequest(request, response); 
} 

@Override 
public String getServletInfo() { 
    return "Short description"; 
} 

} 
+0

にフォームのaction属性のURLを変更するので、より良い春のMVCフレームワークを試してみてください。 HttpServletsの実装は、非常に古い学校であり、失敗する傾向があります。 – dit

+0

sevlet-config.xmlとweb.xmlはどこですか?あなたの質問を更新してください。 –

答えて

0

問題は、あなたがRequestDipatcherを割り当てるコントローラ内の行です。

index.htmlのファイルパスが間違っている可能性があります。フォルダの構造を確認し、それに応じてパスを挿入します。 index.htmlが、リクエストが送信されたページの同じディレクトリにある場合は、index.htmlのファイルパスで、先頭の '/'を削除します。

また、あなたが初心者であれば、コントローラの注釈でurlPattrnsで定義された同じURLパターン「/大学/ NewServlet」

+1

サーブレットとBeanは大学パッケージで、インデックスファイルはWeb Pagesフォルダにあります –

+1

質問に記載されているjspページの名前は何ですか? index.jspですか? – Kaustav

+0

ya index.jspページ –

関連する問題