%@ page language="java" import="java.sql.*" %>
Sikker indskriv i gæstebog - løsning
Skriv dig ind i min gæstebog
<%
java.util.regex.Pattern ulovligeTegn = java.util.regex.Pattern.compile(
"[^\\p{L}\\p{Space}\\p{Digit}\\p{Sc}!#%()*+,-./:;?@\\[\\]^_\\{\\|\\}\\~]");
// Se om der kommer nogen data fra formularen
String navn = request.getParameter("navn");
String besked = request.getParameter("besked");
if (navn != null && besked != null)
{
// OK, vi har fået en indtastning. Tjek om brugeren reelt har tastet noget.
navn = ulovligeTegn.matcher(navn).replaceAll(""); // fjern ulovlige tegn
besked = ulovligeTegn.matcher(besked).replaceAll(""); // fjern ulovlige tegn
if (navn.length() < 3 || besked.length() < 3)
{
out.write("Indtast venligst dit fulde navn og en besked.");
}
else // OK, beskedden er gyldig. Indsæt den i databasen
{
String drv = application.getInitParameter("dbDriver"); // se afsnit 4.5.5
String url = application.getInitParameter("dbUrl");
Class.forName(drv); // initialiseringsparameter (= "com.mysql.jdbc.Driver")
Connection con = DriverManager.getConnection(url); //("jdbc:mysql:///test")
PreparedStatement pstmt = con.prepareStatement(
"INSERT INTO gaestebog (navn, besked, dato, ip) VALUES(?,?,?,?)");
pstmt.setString(1, navn);
pstmt.setString(2, besked);
pstmt.setDate(3, new java.sql.Date(System.currentTimeMillis()));
pstmt.setString(4, request.getRemoteAddr());
pstmt.executeUpdate();
pstmt.close();
con.close();
// alt gik godt. Send brugeren tilbage til gæstebogen
response.sendRedirect("../kapitel_05/gaestebog.jsp");
}
}
%>