non ne esco più, devo passare una stringa ad una jsp in cui scorro il database e controllo se la stringa è presente, il punto è che la stringa passa ma se cerco di confrontarla con un valore estratto dal db non va, non riesce a confrontarle anche se sono uguali è come se le vedesse diverse ma printata è proprio la stessa, dipende forse dal charset? o devo passarla in qualche altro modo? il codice è questo, cmq in un altro pezzo di codice uso la stringa passata in un prepared statement e funziona, non ci capisco più niente
// script la to client che passa la stringa
function controlData(dataSource)
{
if(XMLHttpRequestObject)
{
XMLHttpRequestObject.open("POST", dataSource);
XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
{
control = XMLHttpRequestObject.responseText;
alert (control);
}
}
XMLHttpRequestObject.send("namein="+selectedprojec t);
}
}
// jsp che effettua i controlli
<%@page language="java" %>
<%@ page import= "java.sql.*" %>
<%
// GET PARAMETERS
String namein = request.getParameter("namein");
// DATABASE CONNECTION
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbcdbcrojects");
// QUERY PREPARATION AND EXECUTION
Statement stmt = conn.createStatement();
ResultSet result = stmt.executeQuery("SELECT name FROM project");
// SETTING RESPONSE
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
String resp = null;
while (result.next())
{
if (result.getString("name") == namein) resp="notok";
}
response.getWriter().write(resp);
%>