本文讲述了一个专利申请网站的开发过程
该系统首先对系统进行分析设计,然后完成论文的写作。专利申请网站主要实现了前台会员我的资料、提交资料、申请须知、标准文档格式、留言管理;审核人审核资料、申请须知、标准文档格式、留言管理;后台管理员修改密码、管理员维护、审核人管理、会员管理、网站简介管理、留言管理、上报须知管理、标准文档格式管理、上报资料管理、会员申请管理。
它的部分数据库表摘录如下
表1 t_baogaousers 用户报告
字段名称 | 自动增长 | 字段类型 | 说明 |
id | - | INT | 编号 |
mingcheng | - | varchar | 名称 |
fujian | - | varchar | 附件 |
fujianYuanshiming | - | varchar | 说明 |
shijian_shangchuan | - | varchar | 上传时间 |
piyueneirong | - | varchar | 批阅内容 |
shijian_pinyue | - | varchar | 批阅时间 |
users_id | - | INT | 用户ID |
pingyue_fujian | - | varchar | 评阅附件 |
pingyue_fujianYuanshiming | - | varchar | 说明 |
表2管理员表
名称 | 类型 | 说明 |
userId | int | 编号 |
userName | varchar(50) | 名称 |
userPw | varchar(50) | 密码 |
id | int | 编号 |
name | varchar(50) | 名称 |
nlduan_id | int | 年龄段 |
其中部分关键的代码摘录如下
package com.action;
import java.io.IOException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dao.DB;
import com.orm.Tdoc;
import com.orm.Tgeshi;
public class geshi_servlet extends HttpServlet
{
public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException, IOException
{
String type=req.getParameter("type");
if(type.endsWith("geshiAdd"))
{
geshiAdd(req, res);
}
if(type.endsWith("geshiMana"))
{
geshiMana(req, res);
}
if(type.endsWith("geshiDel"))
{
geshiDel(req, res);
}
if(type.endsWith("geshiDetail"))
{
geshiDetail(req, res);
}
if(type.endsWith("geshiAll"))
{
geshiAll(req, res);
}
if(type.endsWith("geshiDetailQian"))
{
geshiDetailQian(req, res);
}
}
public void geshiAdd(HttpServletRequest req,HttpServletResponse res)
{
String id=String.valueOf(new Date().getTime());
String title=req.getParameter("title");
String content=req.getParameter("content");
String fujian=req.getParameter("fujian");
String fujianYuanshiming=req.getParameter("fujianYuanshiming");
String shijian=req.getParameter("shijian");
String del="no";
String sql="insert into t_geshi values(id,?,?,?,?,?,?)";
Object[] params={title,content,fujian,fujianYuanshiming,shijian,del};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "geshi?type=geshiMana");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void geshiDel(HttpServletRequest req,HttpServletResponse res)
{
String id=req.getParameter("id");
String sql="delete from t_geshi where id=?";
Object[] params={id};
DB mydb=new DB();
mydb.doPstm(sql, params);
mydb.closed();
req.setAttribute("message", "操作成功");
req.setAttribute("path", "geshi?type=geshiMana");
String targetURL = "/common/success.jsp";
dispatch(targetURL, req, res);
}
public void geshiDetail(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
String id=req.getParameter("id");
Tgeshi geshi=new Tgeshi();
String sql="select * from t_geshi where id=?";
Object[] params={id};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
rs.next();
geshi.setId(rs.getString("id"));
geshi.setTitle(rs.getString("title"));
geshi.setContent(rs.getString("content"));
geshi.setFujian(rs.getString("fujian"));
geshi.setFujianYuanshiming(rs.getString("fujianYuanshiming"));
geshi.setShijian(rs.getString("shijian"));
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("geshi", geshi);
req.getRequestDispatcher("admin/geshi/geshiDetail.jsp").forward(req, res);
}
public void geshiDetailQian(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
String id=req.getParameter("id");
Tgeshi geshi=new Tgeshi();
String sql="select * from t_geshi where id=?";
Object[] params={id};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
rs.next();
geshi.setId(rs.getString("id"));
geshi.setTitle(rs.getString("title"));
geshi.setContent(rs.getString("content"));
geshi.setFujian(rs.getString("fujian"));
geshi.setFujianYuanshiming(rs.getString("fujianYuanshiming"));
geshi.setShijian(rs.getString("shijian"));
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("geshi", geshi);
req.getRequestDispatcher("qiantai/geshi/geshiDetailQian.jsp").forward(req, res);
}
public void geshiMana2(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
List geshiList=new ArrayList();
String sql="select * from t_geshi where del='no'";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
Tgeshi geshi=new Tgeshi();
geshi.setId(rs.getString("id"));
geshi.setTitle(rs.getString("title"));
geshi.setContent(rs.getString("content"));
geshi.setFujian(rs.getString("fujian"));
geshi.setFujianYuanshiming(rs.getString("fujianYuanshiming"));
geshi.setShijian(rs.getString("shijian"));
geshiList.add(geshi);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("geshiList", geshiList);
req.getRequestDispatcher("admin/geshi/geshiMana.jsp").forward(req, res);
}
public void geshiMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
String userid=req.getParameter("userid");
String page1=req.getParameter("page");
if(page1==null){
page1="1";
}
//分页设置
int EVERYPAGENUM=20;//每页条数
int page=Integer.parseInt(page1); //传递过来的当前页
int cou = 1;//得到信息总数
int pagecount=1; //总页数
String sql1="select count(*) as cou from t_geshi where del='no' ";
Object[] params1={};
DB mydb1=new DB();
try
{
mydb1.doPstm(sql1, params1);
ResultSet rs=mydb1.getRs();
while(rs.next())
{
cou= rs.getInt("cou");
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb1.closed();
if (cou % EVERYPAGENUM == 0) {
pagecount= cou / EVERYPAGENUM;
} else {
pagecount=cou / EVERYPAGENUM + 1;
}
req.setAttribute("EVERYPAGENUM", EVERYPAGENUM);
req.setAttribute("page", page);
req.setAttribute("cou", cou);
req.setAttribute("pagecount", pagecount);
List geshiList=new ArrayList();
String sql="select * from t_geshi where del='no' ";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
Tgeshi geshi=new Tgeshi();
geshi.setId(rs.getString("id"));
geshi.setTitle(rs.getString("title"));
geshi.setContent(rs.getString("content"));
geshi.setFujian(rs.getString("fujian"));
geshi.setFujianYuanshiming(rs.getString("fujianYuanshiming"));
geshi.setShijian(rs.getString("shijian"));
geshiList.add(geshi);
} else {
break; //减少空循环的时间
}
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("geshiList", geshiList);
req.getRequestDispatcher("admin/geshi/geshiMana.jsp").forward(req, res);
}
public void geshiAll2(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
List geshiList=new ArrayList();
String sql="select * from t_geshi where del='no'";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
while(rs.next())
{
Tgeshi geshi=new Tgeshi();
geshi.setId(rs.getString("id"));
geshi.setTitle(rs.getString("title"));
geshi.setContent(rs.getString("content"));
geshi.setFujian(rs.getString("fujian"));
geshi.setFujianYuanshiming(rs.getString("fujianYuanshiming"));
geshi.setShijian(rs.getString("shijian"));
geshiList.add(geshi);
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("geshiList", geshiList);
req.getRequestDispatcher("qiantai/geshi/geshiAll.jsp").forward(req, res);
}
public void geshiAll(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException
{
String userid=req.getParameter("userid");
String page1=req.getParameter("page");
if(page1==null){
page1="1";
}
//分页设置
int EVERYPAGENUM=10;//每页条数
int page=Integer.parseInt(page1); //传递过来的当前页
int cou = 1;//得到信息总数
int pagecount=1; //总页数
String sql1="select count(*) as cou from t_geshi where del='no' ";
Object[] params1={};
DB mydb1=new DB();
try
{
mydb1.doPstm(sql1, params1);
ResultSet rs=mydb1.getRs();
while(rs.next())
{
cou= rs.getInt("cou");
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb1.closed();
if (cou % EVERYPAGENUM == 0) {
pagecount= cou / EVERYPAGENUM;
} else {
pagecount=cou / EVERYPAGENUM + 1;
}
req.setAttribute("EVERYPAGENUM", EVERYPAGENUM);
req.setAttribute("page", page);
req.setAttribute("cou", cou);
req.setAttribute("pagecount", pagecount);
List geshiList=new ArrayList();
String sql="select * from t_geshi where del='no' ";
Object[] params={};
DB mydb=new DB();
try
{
mydb.doPstm(sql, params);
ResultSet rs=mydb.getRs();
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
Tgeshi geshi=new Tgeshi();
geshi.setId(rs.getString("id"));
geshi.setTitle(rs.getString("title"));
geshi.setContent(rs.getString("content"));
geshi.setFujian(rs.getString("fujian"));
geshi.setFujianYuanshiming(rs.getString("fujianYuanshiming"));
geshi.setShijian(rs.getString("shijian"));
geshiList.add(geshi);
} else {
break; //减少空循环的时间
}
}
rs.close();
}
catch(Exception e)
{
e.printStackTrace();
}
mydb.closed();
req.setAttribute("geshiList", geshiList);
req.getRequestDispatcher("qiantai/geshi/geshiAll.jsp").forward(req, res);
}
public void dispatch(String targetURI,HttpServletRequest request,HttpServletResponse response)
{
RequestDispatcher dispatch = getServletContext().getRequestDispatcher(targetURI);
try
{
dispatch.forward(request, response);
return;
}
catch (ServletException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void destroy()
{
}
}