⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 queriesservlet.java

📁 很好的WebSphereCE轻量级J2EE服务器使用入门的范例程序
💻 JAVA
字号:
package com.ibm.db2.simplej2ee;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import java.util.Calendar;

import javax.naming.NamingException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;

public class QueriesServlet extends HttpServlet
{
	private static final long serialVersionUID = -7526496237664394167L;
	
	private Queries queries = null;
	private XmlUtil xmlUtil = null;
	private static int NUM_SPEAKERS = 3;
	
	
	public QueriesServlet() throws FileNotFoundException, SQLException, 
		ParserConfigurationException, NamingException
	{
		queries = new Queries();
		xmlUtil = new XmlUtil();
	}
	
	public void doGet(HttpServletRequest req, HttpServletResponse res) throws IOException
	{		
		String eventsOnDate = req.getParameter("eventsOnDate");
		String numberOfSpeakers = req.getParameter("numberOfSpeakers");
		String speakersFromCompany = req.getParameter("speakersFromCompany");
		
		if (eventsOnDate != null)
		{
			res.setCharacterEncoding("utf-8");
			res.setContentType("application/xml");
			PrintWriter pw = res.getWriter();
			
			String dateStr = (String) req.getParameter("date");
			if (dateStr.trim().equals(""))
			{
				// set dateStr to null to get a query for any date
				dateStr = null;
			}
			
			Document doc = queries.getEventsAtDate(dateStr);
			xmlUtil.printDoc(doc.getDocumentElement(), pw);			
		}
		else if (numberOfSpeakers != null)
		{
			res.setContentType("text/plain");
			PrintWriter pw = res.getWriter();
			
			int numSpeakers = queries.getNumberOfSpeakers();
			pw.println("There are " + numSpeakers + " speakers.");
		}
		else if (speakersFromCompany != null)
		{			
			res.setCharacterEncoding("utf-8");
			res.setContentType("application/xml");
			PrintWriter pw = res.getWriter();
			
			String company = (String) req.getParameter("company");
			if (company.trim().equals(""))
			{
				// set company to null to get a query for any company
				company = null;
			}
			
			Document doc = queries.getSpeakersFromCompany(company);
			xmlUtil.printDoc(doc.getDocumentElement(), pw);			
		}
	}
	
	public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException
	{
		PrintWriter pw = res.getWriter();
		
		String enterEvent = req.getParameter("enterEvent");
		
		if (enterEvent != null)
		{
			res.setContentType("text/plain");
			
			/*
			 * Collect data from input
			 */
			
			String id = req.getParameter("eid");
			String title = req.getParameter("title");
			String type = req.getParameter("type");
			
			String startDate = req.getParameter("startdate");
			String startTime = req.getParameter("starttime");
			String startAmPm = req.getParameter("startampm");
			String startDateTime = formatDateTime(startDate, startTime, startAmPm);
			
			String endDate = req.getParameter("enddate");
			String endTime = req.getParameter("endtime");
			String endAmPm = req.getParameter("endampm");
			String endDateTime = formatDateTime(endDate, endTime, endAmPm);
			
			String description = req.getParameter("description");

			String[] lastNames = new String[NUM_SPEAKERS];
			String[] firstNames = new String[NUM_SPEAKERS];
			String[] companyNames = new String[NUM_SPEAKERS];
			for (int i = 0; i < NUM_SPEAKERS; i++)
			{
				String lastName = req.getParameter("speaker" + i + "_lastname");
				String firstName = req.getParameter("speaker" + i + "_firstname");
				String companyName = req.getParameter("speaker" + i + "_company");
				
				if ((lastName != null && !lastName.trim().equals("")) ||
						(firstName != null && !firstName.trim().equals("")) ||
						(companyName != null && !companyName.trim().equals("")))
				{
					lastNames[i] = req.getParameter("speaker" + i + "_lastname");
					firstNames[i] = req.getParameter("speaker" + i + "_firstname");
					companyNames[i] = req.getParameter("speaker" + i + "_company");
				}
			}

			// insert data from input into database
			queries.insertEvent(id, title, type, startDateTime, endDateTime,
				description, lastNames, firstNames, companyNames);
			
			pw.println("Entered an event");
		}
	}
	
	private String formatDateTime(String date, String time, String ampm)
	{
		Calendar cal = Calendar.getInstance();
		

		if (ampm.indexOf("am") > 0)
		{
			cal.set(Calendar.AM_PM, Calendar.AM);
		}
		else
		{
			cal.set(Calendar.AM_PM, Calendar.PM);
		}
		
		String[] dateParts = date.split("-");
		String[] timeParts = time.split(":");
		cal.set(Integer.parseInt(dateParts[0]),
				Integer.parseInt(dateParts[1]) - 1, // months are 0-based
				Integer.parseInt(dateParts[2]));
		
		// noon in a 12hr clock is represented by 00:00 pm
		int hr = Integer.parseInt(timeParts[0]);
		if (hr < 12)
			cal.set(Calendar.HOUR, hr);
		else
			cal.set(Calendar.HOUR, hr - 12);
			
		cal.set(Calendar.MINUTE, Integer.parseInt(timeParts[1]));
		
		// java 1.5
		//return String.format("%1$tY-%1$tm-%1$td %1$tk:%1$tM:00", cal);
		
		// java 1.4
		String s = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-"
			+ cal.get(Calendar.DAY_OF_MONTH) + " " + cal.get(Calendar.HOUR_OF_DAY)
			+ ":";
		if (cal.get(Calendar.MINUTE) < 10)
			s += "0" + cal.get(Calendar.MINUTE);
		else
			s += cal.get(Calendar.MINUTE);
		s +=  ":00";
		
		return s;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -