webForumDet fria alternativet

SQL+JSP: Vilket är att föredra?

2 svar · 255 visningar · startad av Jaar

JaarMedlem sedan juli 2001434 inlägg
#1

Man kan ju göra JSP sidor på kanske många olika, och varierande sätt. Jag tänkte höra vilket sätt som ni tycker är bäst/vilket som är "standard".

Observera att det troligen är fel på exempelkoden, den är mest till för att försöka förmedla vad jag menar ;)

1. SQL satser på JSP sidan
1.1 SQL satserna skrivs direkt i JSP koden och loopas runt

rs = preparedStatement("select * from myTable");
while rs.next
{
  %><tr><td><%=rs.getParameter(2)%></td></tr><%
}

1.2 SQL satserna står först i JSP koden, allt lagras i variabler, resultsets och kopplingar stängs ned och allt skrivs sist ut.

rs = preparedStatement("select * from myTable");
while rs.next
{
  myVector.add(rs.getParameter(2);
}
%>
<html...> (osv)
<%for int i = 0; i < myVector.length; i++)
{
  %><tr><td><%=(String)myVector.get(i)%></td></tr><%
}
%>

2.0 SQL satser i javaklasser/bean
2.1 SQL satser i respektive klass. SQL satserna liggeri den klass som ska genereras fram. Dvs att klassen "ForumPost" skulle ha en funktion (static antagligen) som heter getSQL som returnerar hur sql-satsen ser ut.
2.2 Samma som 2.1 fast klassen exekverar och hanterar allt också. Dvs den skapar en, eller flera instanser av sig själv.
2.3 En egen klass hanterar ALLT som har med SQL/Databasen att göra. Den har SQL satser, den öppnar portar osv
2.4 JSP-sidan har SQL satserna som den skickar med till en JavaBöna som i sin tur exekverar den

Om en JavaBöna och/eller JavaKlass exekverar, hur returnerar ni allt då? Returneras en ResultSet? Lagrar ni i Listor/Vector? Har ni en egen klass som returneras?

spangoMedlem sedan juni 20008 205 inlägg
#2

Man kapslar in all databashantering, ingen SQL direkt från JSP:n. Listor används, inte resultsets.

leifenMedlem sedan juli 200173 inlägg
#3

I uppräkningen av alternativ tycker jag att Taglibs saknas. Ett enkelt sätt att separera koden och få en renare Jsp.

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)