📄 queriesservlet.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 + -