non riesco a connettermi ad un database creato in sqlserver che si trova su una macchina virtuale del mio stesso pc. il file struts-config.xml l'ho modificato in questo modo:
e nella classe della connessione ho messo:codice:<data-sources> <data-source key="STRUTS_DB1"> <set-property property="autoCommit" value="false"/> <set-property property="description" value="Example Data Source Configuration"/> <set-property property="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> <set-property property="maxCount" value="4"/> <set-property property="minCount" value="2"/> <set-property property="url" value="jdbc:microsoft:sqlserver://2000SERVER:1433;databaseName=STRUTS_DB1;user=sa;password=administratorsa"/> </data-source> </data-sources>
[CODE]
package struts.actions;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import struts.forms.LoginForm;
public final class LoginAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
boolean loginOK = false;
LoginForm myform = (LoginForm) form;
String username = myform.getUsername();
String password = myform.getPwd();
DataSource dataSource;
Connection myConnection = null;
try
{
dataSource = getDataSource(request,"STRUTS_DB1");
myConnection = dataSource.getConnection();
String select = "select * from utente where username=? AND password=?";
PreparedStatement ps = myConnection.prepareStatement(select);
ps.setString(1,username);
ps.setString(2,password);
ResultSet rst = ps.executeQuery();
if(rst.next())
{
loginOK = true;
}
rst.close();
ps.close();
}
catch(Exception sqle)
{
sqle.printStackTrace();
}
finally
{
try
{
myConnection.close();
}
catch(Exception sqlex)
{
sqlex.printStackTrace();
}
}
if(loginOK)
{
ActionMessages messages = new ActionMessages();
ActionMessage message = new ActionMessage("utente.loginOK");
messages.add("loginOK", message);
saveMessages( request, messages);
}
else
{
ActionMessages messages = new ActionMessages();
ActionMessage message = new ActionMessage("utente.loginKO");
messages.add("loginKO", message);
saveMessages(request, messages);
}
return mapping.findForward("loginResponse");
}
}
il messaggio d'errore che mi viene dato in tomcat è: GRAVE: Servlet /struts2 threw load() exception
se qualcuno può darmi una mano...grazie mille!!!

Rispondi quotando