Angående Serperering af kode
Hvis jeg ønsker at flytte hvise dele over i en selvstændig klasse, hvis der er en del der skal bruges i en del klasser. Her er min kode skriver nedenunder hvad der skal flyttes ud i en selvstændig klasse.package test;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.ArrayList;
public class searchServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String isbnIn;
String forfatter;
String titel;
String forlag;
String beskrivelse;
int counter =0;
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/bog", "pma", "fpra6712");
Statement stmt = con.createStatement();
isbnIn = request.getParameter("isbn");
forfatter = request.getParameter("forfatter");
titel = request.getParameter("titel");
forlag = request.getParameter("forlag");
beskrivelse = request.getParameter("beskrivelse");
if (isbnIn.length() > 0 && forfatter.length() == 0 && titel.length() == 0 && forlag.length() == 0 && beskrivelse.length() == 0) {
ResultSet rs = stmt.executeQuery("SELECT isbn, forfatter, titel, forlag, beskrivelse FROM boeger WHERE isbn = '" + isbnIn + "'");
ArrayList boger = new ArrayList();
while(rs.next()) {
boger.add(new bog(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5)));
}
request.setAttribute("search", "done");
request.setAttribute("boger", boger);
rs.close();
stmt.close();
counter = 1;
}
else if(forfatter.length() > 0 && titel.length() > 0 && isbnIn.length() == 0 && forlag.length() == 0 && beskrivelse.length() == 0) {
ResultSet rs = stmt.executeQuery("SELECT isbn, forfatter, titel, forlag, beskrivelse FROM boeger WHERE forfatter = '" + forfatter + "' AND titel = '" + titel + "'");
ArrayList boger = new ArrayList();
while(rs.next()) {
boger.add(new bog(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5)));
}
request.setAttribute("search", "done");
request.setAttribute("boger", boger);
rs.close();
stmt.close();
counter = 1;
}
else if(beskrivelse.length() > 0 && isbnIn.length() == 0 && forfatter.length() == 0 && titel.length() == 0 && forlag.length() == 0) {
ResultSet rs = stmt.executeQuery("SELECT isbn, forfatter, titel, forlag, beskrivelse FROM boeger WHERE beskrivelse LIKE '%" + beskrivelse + "%'");
ArrayList boger = new ArrayList();
while(rs.next()) {
boger.add(new bog(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5)));
}
request.setAttribute("search", "done");
request.setAttribute("boger", boger);
rs.close();
stmt.close();
counter = 1;
}
else {
if(counter ==0)
request.setAttribute("searchnone", "none");
}
con.close();
} catch (Exception e) {
}
getServletConfig().getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
}
}
Det er selve forbindelsen til databasen der skal ligge i en selvstændig klasse. Skal man lave en bean og i såfald hvordan opstilelr man denne. Det er denne kode der skal rykkes i en selvstændig klasse
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/bog", "pma", "fpra6712");
Statement stmt = con.createStatement();
