2012-03-12 3 views
0

У меня есть это на моей форме, чтобы получить все параметры передать его сервлет затем представить его в базу данных ... она работает отлично ...вперед/перенаправление отправить Jsp

<jsp:useBean id="survey" class="csnsurveysource.csnsurveyclass" scope="page"> 

    <jsp:setProperty name="survey" property="*"/> 


</jsp:useBean> 

<%survey.insert();%> 

однако я хочу чтобы быть перенаправлены на другую страницу после нажатия пользователя на отправить ...

Вот мой сервлет

package csnsurveysource; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.Statement; 
import java.sql.ResultSet; 



public class csnsurveyclass 
{ 

    private int id; 
    private String requested_by; 
    private String assigned_to; 
    private String question1; 
    private String question2; 
    private String question3; 
    private String question4; 
    private String comment1; 
    private String comment2; 
    private String comment3; 
    private String comment4; 
    private String comment5; 
    private Connection connection=null; 
    private ResultSet rs = null; 
    private Statement st = null; 
    String connectionURL = "jdbc:postgresql://localhost:5432/MyDB"; 


    public csnsurveyclass() 
    { 
     try { 
      // Load the database driver 
      Class.forName("org.postgresql.Driver"); 
      // Get a Connection to the database 
      connection = DriverManager.getConnection(connectionURL, "username", "password"); 
      }catch(Exception e){ 
      System.out.println("Exception is ;"+e); 
      } 

     } 

     public void setid(int id) 
    { 
     this.id = id; 
    } 

    public int getid() 
    { 
     return (this.id); 
    } 
     public void setrequested_by(String requested_by) 
    { 
     this.requested_by = requested_by; 
    } 

    public String getrequested_by() 
    { 
     return (this.requested_by); 
    } 

    public void setassigned_to(String assigned_to) 
    { 
     this.assigned_to = assigned_to; 
    } 

    public String getassigned_to() 
    { 
     return (this.assigned_to); 
    } 

     public void setquestion1(String question1) 
    { 
     this.question1 = question1; 
    } 

    public String getquestion1() 
    { 
     return (this.question1); 
    } 
     public void setquestion2(String question2) 
    { 
     this.question2 = question2; 
    } 

    public String getquestion2() 
    { 
     return (this.question2); 
    } 
     public void setquestion3(String question3) 
    { 
     this.question3 = question3; 
    } 

    public String getquestion3() 
    { 
     return (this.question3); 
    } 
     public void setquestion4(String question4) 
    { 
     this.question4 = question4; 
    } 

    public String getquestion4() 
    { 
     return (this.question4); 
    } 
     public void setcomment1(String comment1) 
    { 
     this.comment1 = comment1; 
    } 

    public String getcomment1() 
    { 
     return (this.comment1); 
    } 
     public void setcomment2(String comment2) 
    { 
     this.comment2 = comment2; 
    } 

    public String getcomment2() 
    { 
     return (this.comment2); 
    } 
     public void setcomment3(String comment3) 
    { 
     this.comment3 = comment3; 
    } 

    public String getcomment3() 
    { 
     return (this.comment3); 
    } 
     public void setcomment4(String comment4) 
    { 
     this.comment4 = comment4; 
    } 

    public String getcomment4() 
    { 
     return (this.comment4); 
    } 
     public void setcomment5(String comment5) 
    { 
     this.comment5 = comment5; 
    } 

    public String getcomment5() 
    { 
     return (this.comment5); 
    } 

    public void insert() 
    { 

     try 
     { 
      String sql = "insert into csnsurvey (id,assigned_to,requested_by,q1,comment1,q2,comment2,q3,comment3,q4,comment4,comment5) values('"+id+"', '"+assigned_to+"','"+requested_by+"','"+question1+"','"+comment1+"','"+question2+"','"+comment2+"','"+question3+"','"+comment3+"','"+question4+"','"+comment4+"','"+comment5+"')"; 
      Statement s = connection.createStatement(); 
      s.executeUpdate (sql); 
      s.close();     


     }catch(Exception e){ 
      System.out.println("Error on the database"); 

     } 
    } 



} 
+0

Непонятно, в чем вопрос. В сервлете, который обрабатывает submit, выполните перенаправление или переадресацию. –

+0

вы, похоже, вставляли bean вместо кода сервлета. Пожалуйста, покажите свой код сервлета –

+0

Peewee, то есть ** не ** сервлет. Это всего лишь джаваб. Чтобы узнать, что такое сервлеты, проверьте http://stackoverflow.com/tags/servlets/info. Кстати, ваш код протекает по ресурсам базы данных и подвержен атакам SQL-инъекций. Надеюсь, это «просто» домашнее задание? – BalusC

ответ

1

в сервлет, в общественной ничтожной вставки, я бы поставил редирект после попытки и поймать что-то, например:

String redirectURL = "http://hostname.com/"; 
response.sendRedirect(redirectURL); 
+0

OP не использует сервлет. OP использует устаревшие/oldschool 'jsp: useBean' вещи. – BalusC

+0

Хороший звонок там @BalusC. Несмотря на это, простое перенаправление должно работать нормально в этом случае, надеюсь, что jsp: usebean предназначен только для тестирования. –

0

Вы можете использовать диспетчер запросов и перенаправить в соответствии с вашими потребностями и требованиями.

ServletContext sc = getServletContext(); 
RequestDispatcher rd = sc.getRequestDispatcher("url"); 

rd.forward(request,response); 

или

response.sendRedirect("url"); 

sendRedirect() посылает заголовок обратно в браузер, который содержит имя ресурса, чтобы быть перенаправлены.

forward() действие происходит на сервере без ведома браузера.

Смежные вопросы