Can i run a servlet without a web.xml file for servlet mapping?
843841Aug 23 2003 — edited Aug 26 2003Hello everyone.
The code i want to run compiles and everythink looks ok.
It produces the .class file.
I run Tomcat 4.1 and i build my Web site with Dreamweaver.
I have a form in a page and i want to send the data upon form completion to a database i already have build with MySql.
The database is up and running and the server is set-up ok.
I have changed the port in Tomcat to run on port 80.
The directory i have my site is
Tomcat41\webapps\ROOT\se
and the directory where i keep the servlet class is
Tomcat41\webapps\ROOT\se\WEB-INF\servlet
I have a web.xml file to map the servlet and placed it in
Tomcat41\webapps\ROOT\se\WEB-INF
In the Form action i write action:"/servlets/Classes/GroupRegistration"
and I RECEIVE AN 404 ERROR FROM APACHE.
Somethink is wrong .
The following is the code from the GroupRegistration.java file
and follws the web.xml file.
Please Help.
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class GroupRegistration extends HttpServlet
{
Connection con;
public void doPost (HttpServletRequest req, HttpServletResponse res)
throws ServletException, java.io.IOException
{
handleForm(req, res);
}
public void init() throws ServletException {
try{
/* Loading the driver for the database */
Class.forName("com.mysql.jdbc.Driver");
Connection Con = DriverManager.getConnection("jdbc:mysql://localhost/se?user=luser&password=");
}
catch (ClassNotFoundException e) {
throw new UnavailableException("Couldn't load JdbcOdbcDriver");
}
catch (SQLException e) {
throw new UnavailableException("Couldn't get db connection");
}
}
private void handleForm(HttpServletRequest req, HttpServletResponse res)
throws ServletException {
//ServletOutputStream out = res.OutputStream();
//res.setContentType("text/html");
//Extract the form Data Here
String group = req.getParameter("GroupNo");
String Name1 = req.getParameter("Name1");
String LoginID1 = req.getParameter("LoginID1");
String Name2 = req.getParameter("Name2");
String LoginID2 = req.getParameter("LoginID2");
String Name3 = req.getParameter("Name3");
String LoginID3 = req.getParameter("LoginID3");
String Name4 = req.getParameter("Name4");
String LoginID4 = req.getParameter("LoginID4");
String URL = req.getParameter("URL");
String Title2 = req.getParameter("Title2");
String date = req.getParameter("date");
String INSERT = "INSERT INTO registration (groupno, name1, loginid1, name2, loginid2, name3, loginid3, name4, loginid4, url, topic, date) VALUES (" + group + "," + Name1 + "," + LoginID2 + "," + Name2 + "," + LoginID2 + "," + Name3 + "," + LoginID3 + "," + Name4 + "," + LoginID4 + "," + URL + "," + Title2 + "," + date + ")";
PreparedStatement pstmt = null;
try{
pstmt = con.prepareStatement(INSERT);
pstmt.executeUpdate();
}
catch (SQLException e) {
throw new ServletException(e);
}
finally {
try {
if (pstmt != null)pstmt.close();
}
catch (SQLException ignored){
}
}
}
}
**********************************************************************
The web.xml file
**********************************************************************
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com.xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<servlet>
<servlet-name>GroupRegistration</servlet-name>
<servlet-class>GroupRegistration</servlet-class>
</servlet>
<servlet-maping>
<servlet-name>GroupRegistration</servlet-name>
<url-pattern>/myGroupRegistration</url-patern>
</servlet-mapping>
</web-app>
I apreciate your time.
Thanks for any help.