Как собрать пользовательский ввод в JSP, чтобы он мог храниться в базе данных - PullRequest
0 голосов
/ 20 августа 2010

Я не знаю JSP. Я написал ниже код Java JDBC, который должен быть интегрирован в JSP.

import java.net.URL;
import java.net.URLConnection;
import java.sql.*;
public class searchlink{
public static void main(String args[]) throws Exception {
    Connection con=null;
    Statement stmt=null;
    Statement stmtR=null;
    String link="http://www.topix.com/rss/city/ellensburgwa";
    String source="Sample";
    if(con==null){
            SQLConnection.setURL("jdbc:sqlserver://192.168.2.53\\SQL2005;user=sa;password=365media;DatabaseName=LN_ADWEEK");
            con=SQLConnection.getNewConnection();
            stmt=con.createStatement();
            stmtR=con.createStatement();
    }
    ResultSet rs;
    boolean hasRows=false;
    rs=stmt.executeQuery("select url from urls where url='"+link+"'");
    while(rs.next()){
        hasRows=true;
        //String mem=rs.getString(1);
        System.out.println("This URL already exists in DB");}
    if (!hasRows)
    {
        PreparedStatement insertUrlStatement = con.prepareStatement("INSERT INTO urls VALUES(?, ?, ?, ?, ?)");
        insertUrlStatement.setInt(1, 21211);
        insertUrlStatement.setString(2, link);
        insertUrlStatement.setString(3, source);
        insertUrlStatement.setInt(4, 1);
        insertUrlStatement.setInt(5, 0);
        insertUrlStatement.executeUpdate();
             }
           }
        }

Первоначально моя задача - создать текстовое поле и присвоить значение, которое пользователь вводит в него, именованной ссылке String, которая есть в приведенном выше коде.

Пожалуйста, посоветуйте, как построить программу JSP для этого. Кроме того, пожалуйста, дайте мне знать, нужно ли вносить какие-либо изменения в приведенный выше код Java для интеграции в JSP, или я могу просто включить всю программу в <% content %>.

Ответы [ 3 ]

4 голосов
/ 20 августа 2010

Прежде всего, вам следует избегать написания кода Java в файле JSP.

Вот шаг за шагом:

  1. Изучите как минимум HTTP и HTML. Кстати, вы должны понимать, что такое HTTP, и различать понятия «сторона сервера» и «сторона клиента». Вам также необходимо изучить HTML как язык веб-разметки и HTML-формы для сбора пользовательского ввода. Этот ответ содержит полезные ссылки .

  2. Изучение JSP и сервлетов. Вы должны понимать, что JSP - это технология представления на основе Java, которая предоставляет шаблон для написания HTML / CSS / JS, который, в свою очередь, будет отправлен веб-браузеру. Этот ответ содержит полезные ссылки .

  3. Изучив 1 и 2, начните создавать файл JSP с простой HTML-формой с необходимыми полями ввода:

     <form action="servleturl" method="post">
         <input type="text" name="link">
         <input type="text" name="source">
         <input type="submit">
     </form>
    
  4. Затем создайте класс, который extendsHttpServlet, который собирает эти входные параметры и сохраняет в базе данных в методе doPost():

     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         String link = request.getParameter("link");
         String source = request.getParameter("source");
         LinkDAO dao = new LinkDAO();
         try {
             dao.save(link, source);
         } catch (SQLException e) {
             throw new ServletException("Saving in DB failed", e);
         }
         request.getRequestDispatcher("result.jsp").forward(request, response);
     }
    

    Отобразите этот сервлет в файле web.xml на url-pattern из servleturl (по крайней мере, он должен совпадать с тем, на который указывает <form action>).

  5. Затем создайте класс DAO, который выполняет необходимые функции JDBC:

     public class LinkDAO {
         public void save(String link, String source) throws SQLException {
             // Your original code here. You should however modify it to make it
             // free of potential resource leaking.
         }
     }
    

    Чтобы узнать немного больше о том, как начать работу с шаблоном DAO, вам может пригодиться эта статья .

0 голосов
/ 20 августа 2010

если вы преодолеете этот барьерный идентификатор, также предложите использовать что-то вроде springs JdbcDaoSupport для управления соединениями с источником данных. Помимо сокращения количества строк, которые вам нужно написать, это также помогает в управлении соединениями

0 голосов
/ 20 августа 2010

Пора изучить некоторые основы:

Модель Model-View-Control (MVC) была бы очень хорошим началом.Вам повезло - в Java есть много реализаций:

http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller#Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...