有没有办法在glassfish上部署servlet而不在Web浏览器上显示它?

时间:2016-07-24 19:24:56

标签: java servlets glassfish

我是开发java ee应用程序的初学者。我制作了一个没有html内容的servlet。我希望它只是在不在浏览器中打开的情况下部署。

这是我的servlet类 -

public class xmltosql extends HttpServlet {
    @Override
    public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException
    {
        System.out.println("this is in current data");
        try
        {
          // instream receives string from server 1  
          InputStream in = req.getInputStream();


      // testing code
          DocumentBuilderFactory factory = null;
    DocumentBuilder builder = null;
    Document ret = null;

    try {
      factory = DocumentBuilderFactory.newInstance();
      builder = factory.newDocumentBuilder();
    } catch (ParserConfigurationException e) {
      e.printStackTrace();
    }

    try {
        // creating xml document ret using instream data
        ret = builder.parse(in);
        System.out.println("ret : "+ret);
    } catch (SAXException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }

    try
    {   
        // establishing jdbc connection to database on server 2
        Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/nic", "root", "jumanjis");
        Statement st = con.createStatement();
        // initiating a queue to recieve object
        Queue<data> q = new LinkedList<data>();     
        if(req!=null){
            // initiating object of data class which takes row values of table on server 1
             data obj = new data();
             // reading xml string from inputstream
            NodeList employeelist = ret.getElementsByTagName("employee");
            for(int i=0; i<employeelist.getLength();i++){
                Node n = employeelist.item(i);
                if(n.getNodeType()==Node.ELEMENT_NODE){
                    Element employee = (Element) n;
                    NodeList childnodes = employee.getChildNodes();

                        for(int j=0;j<childnodes.getLength();j++){
                            Node child = childnodes.item(j);
                                if(child.getNodeType()==Node.ELEMENT_NODE){
                                    Element x = (Element) child;

                                        // initializing members of data class object
                                        switch (x.getTagName()) {
                                            case "id":
                                                obj.id = Integer.parseInt(x.getTextContent());
                                                break;
                                            case "name":
                                                obj.name = x.getTextContent();
                                                break;
                                            case "age":
                                                obj.age = Integer.parseInt(x.getTextContent());
                                                break;
                                            case "city":
                                                obj.city = x.getTextContent();
                                                break;
                                            case "country":
                                                obj.country = x.getTextContent();
                                                break;
                                            default:
                                                break;
                                        }   
                                 }
                        }
                }
            }
            // inserting object of data class to queue
            q.add(obj);
                // iterating through the objects in the queue
               Iterator iterator = q.iterator();
               while(iterator.hasNext()){
                    data first =q.remove();
                    // updating the table xyz on server 2 using the object in queue
                    st.executeUpdate("insert into xyz values("+first.id+", '"+first.name+"', "+first.age+", '"+first.city+"', '"+first.country+"')");
                        }       
            ret = null;
        }
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }
    // storing data in db


}
catch (IOException e) 
{
System.err.println(e); 
e.printStackTrace();
}

    }
}
下面的

是我的web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version="3.1">

    <servlet>
        <servlet-name>xmltosql</servlet-name>
        <servlet-class>xmltosql</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>xmltosql</servlet-name>
        <url-pattern></url-pattern>
    </servlet-mapping>
</web-app>

我只是希望这个servlet在后台运行而不需要在Web浏览器上调用。

0 个答案:

没有答案