📄 processnews.java
字号:
package course.select;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import jdbc.*;
import java.sql.*;
import exception.*;
/**
* @version 1.0
* @author
*/
public class ProcessNews extends HttpServlet implements Servlet {
String [] category=null;
DatabaseConnection connection=null;
public ProcessNews()
{
try
{
connection=new DatabaseConnection();
//产生与数据库连接的类的实例,可能抛出SQLException
connection.connect();
}
catch(SQLException e)
{
e.printStackTrace();
}
catch(DriverException e)
{
e.printStackTrace();
}
}
/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
processRequest(req,resp);
}
/**
* @see javax.servlet.http.HttpServlet#void (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
*/
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
processRequest(req,resp);
}
/**
* @param req
* @param resp
*/
private void processRequest(HttpServletRequest req, HttpServletResponse resp) throws IOException
// TODO 自动生成方法存根
{
OutputStream os=resp.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
//获得向MIDlet返回所有信息的流
int type=0;
int target=0;
try
{
type=Integer.parseInt(req.getParameter("type"));
//查询的信息类型(分类列表,标题,详细信息)
target=Integer.parseInt(req.getParameter("target"));
try
{
switch(type)
{
case 1:getCategory(dos);break;
case 2:getTitle(dos,target);break;
case 3:getDetail(dos,target);break;
default:break;
}
//connection.close();
}
catch(SQLException e)
{
throw e;
}
}
catch(NumberFormatException e)
{
dos.writeInt(-8);
//参数传递错误
}
catch(SQLException e)
{
dos.writeInt(-3);
//-3代表连接数据库错误
//返回提示信息
}
finally
{
dos.close();
}
//调试用代码
/*
int type=0;
int target=0;
type=Integer.parseInt(req.getParameter("type"));
//查询的信息类型(分类列表,标题,详细信息)
target=Integer.parseInt(req.getParameter("target"));
PrintWriter out=resp.getWriter();
out.println("type="+type);
out.println("target="+target);
try
{
category=connection.getCategory();
out.println("length="+category.length);
for(int i=0;i<category.length;i++)
out.println(category[i]);
}
catch(SQLException e)
{
e.printStackTrace(out);
}
out.println(1);
*/
}
protected void getCategory(DataOutputStream dos) throws SQLException,IOException
{
if(category==null)
category=connection.getCategory();
dos.writeUTF("length="+category.length);
dos.writeInt(category.length);
for(int i=0;i<category.length;i++)
dos.writeUTF(category[i]);
}
protected void getTitle(DataOutputStream dos,int categoryID) throws SQLException,IOException
{
String [] title=null;
int [] titleID=null;
titleID=connection.getTitleID(category[categoryID-1]);
title=connection.getTitle(category[categoryID-1]);
dos.writeInt(titleID.length);
for(int i=0;i<titleID.length;i++)
{
dos.writeInt(titleID[i]);
dos.writeUTF(title[i]);
}
}
protected void getDetail(DataOutputStream dos,int newsID) throws SQLException,IOException
{
String detail=null;
detail=connection.getDetail(newsID);
dos.writeInt(1);
dos.writeUTF(detail);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -