Hej!
Placerar denna tråd under J2EE, eftersom mycket av inlägget baseras på användning under J2EE.
Håller på med en www-applikation (Tomcat 5.0.18) åt en kund. Applikationen byggs upp av J2EE (servlets & jsp). Applikationen använder MySql(4.0.13) som databas databas.
Vi har märkt att sidorna är en aning långsamma.
Vill nu optimera koden.
Kan man på ett absolut säkert sätt stoppa direkt åtkomst på *.jsp filer?
Försökte med att skapa en <servlet-mapping> i web.xml men det slutade med stack-overflow då en förfrågan övergick till en "for(;;)" loop. ;) Dvs mappningen gjorde det så att varje anrop mot en jsp-sida skickades till servletten som sedan dirigerade förfrågan till en handler. Men då handlern skickade sedan svaret i form av en jsp-sida, så.... ;)
<servlet-mapping>
<servlet-name>MinController</servlet-name>
<url-pattern>/jsp/*</url-pattern>
</servlet-mapping>
Just nu har vi tyvärr det så dumt, att en validering görs även på varje jsp-sida och i den s k controller servletten.
Så vill jag inte ha det.
Sedan några sql-frågor:
Jag har läst om att följande är att föredra:
String t = result.getString(int_värde) // result = (ResultSet)
i stället för:
String t = result.getString("kolumnNamn")
Just nu har jag det så här:
UserBean b;
b.setName(result.getString("name") );
b.setEmail(result.getString("email") );
b.setAge(result.getInt("age") );
om jag nu använder result.getString(int_värde) så inser jag inte riktigt, hur jag på ett enkelt sätt kan göra som ovan, utan en himla massa switch() satser...
Om jag inte kör med kolumn-namnen så måste jag ju veta i vilken ordning allt finns i ResultSet objektet. Så har jag det för mig iaf.
Sen måste jag ocksp pilla ihop en s k ConnectionPool, dvs ett system för att "återanvända" uppkopplingarna mot databasen och inte skapa ett nytt för varje anrop. Så som jag har det just nu.
Systemet är skapat för kanske 10-20 personer som inte kommer att använda det samtidigt.
Sen ännu en dum fråga, som jag faktiskt hittills har förbisett: :r
Måste man göra nåt speciellt, för att ha ett system som stödjer föera samtidiga användare?
Servlet-ramverket borde väl vara multitrådad?