Java Servlet with MySQL -
so have mysql schema called javaschema , table in call filmtickets.
i have code on servlet:
package thanos; import java.io.ioexception; import java.io.printwriter; import java.sql.connection; import java.sql.resultset; import java.sql.statement; import javax.naming.*; import java.sql.*; import javax.sql.*; import javax.naming.initialcontext; import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import javax.sql.datasource; /** * servlet implementation class movielist */ @webservlet("/movielist") public class movielist extends httpservlet { private static final long serialversionuid = 1l; private datasource datasource = null; public void init() throws servletexception{ try { context init = new initialcontext(); context env = (context) init.lookup("java:/comp/env/"); datasource = (datasource) env.lookup("jdbc/livedatasource"); } catch(exception e) { throw new servletexception(e.tostring()); } } /** * @see httpservlet#httpservlet() */ public movielist() { super(); // todo auto-generated constructor stub } /** * @see httpservlet#doget(httpservletrequest request, httpservletresponse response) */ protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { response.setcontenttype("text/html; charset=utf-8"); response.setcharacterencoding("utf-8"); request.setcharacterencoding("utf-8"); printwriter out = response.getwriter(); out.println("<html>"); out.println("<head><title>film list</title></head>"); out.println("<body>"); try { connection con = datasource.getconnection(); statement stmt = con.createstatement(); out.println("<table border=\"1\">"); out.println("<tr>"); out.println("<th>movie number</th>"); out.println("<th>hours</th>"); out.println("<th>title</th>"); out.println("</tr>"); resultset rs = stmt.executequery("select * filmtickets"); while(rs.next()) { int id = rs.getint("idfilm"); string time = rs.getstring("filmtime"); string title = rs.getstring("filmtitle"); string htmlrow = createhtmlrow(id, time, title); out.println(htmlrow); } rs.close(); con.close(); } catch(exception e) { out.println("database connection problem"); } out.println("</body>"); out.println("</html>"); } /** * @see httpservlet#dopost(httpservletrequest request, httpservletresponse response) */ protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { printwriter pw = response.getwriter(); connecttodb connect = new connecttodb(); connect.getdata(); } private string createhtmlrow(int id, string time, string title) { string row = "<tr>"; row += "<td>" + id + "</td>"; row += "<td>" + time + "</td>"; row += "<td>" + title + "</td>"; row += "</tr>"; return row; } } the context.xml has inside:
<?xml version="1.0" encoding="utf-8"?> <context> <watchedresource>web-inf/web.xml</watchedresource> <watchedresource>${catalina.base}/conf/web.xml</watchedresource> <resource name="jdbc/livedatasource" auth="container" driverclassname="com.mysql.jdbc.driver" type="javax.sql.datasource" username="root" password="password" url="jdbc:mysql://localhost:3306/javaschema" maxactive="8" > </resource> </context> and web.xml this:
<web-app xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemalocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="webapp_id" version="3.1"> <display-name>test</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <resource-ref> <description>connection pool</description> <res-ref-name>>jdbc/livedatasource</res-ref-name> <res-type>javax.sql.datasource</res-type> <res-auth>container</res-auth> </resource-ref> </web-app> when run servlet database connection error , nothing else. don't know causes this. idea?
<res-ref-name>>jdbc/livedatasource</res-ref-name> i think not database connection error. it's because of issue in web.xml file @ above line, replace following line, added > here.
<res-ref-name>jdbc/livedatasource</res-ref-name> if not resolve issue, please post stack trace.
Comments
Post a Comment