📄 productsearch.java
字号:
package inforsearch;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import data.*;
public class ProductSearch extends HttpServlet{
private static final String CONTENT_TYPE="text/htlm;charset=GBK";
public void init() throws ServletException{
}
//doGet方法
public void doGet(final HttpServletRequest request,final HttpServletResponse response)
throws ServletException,IOException{
//设置字符输出的编码机制
response.setContentType(CONTENT_TYPE);
//取得html代码输出类
final PrintWriter out=response.getWriter();
//通过HttpServlet类的getServletContext方法取得application的对象
final ServletContext application=getServletContext();
//创建页面转向类
RequestDispatcher requestDispatcher=application.getRequestDispatcher("/productsearch.jsp");
//将定义的页面在servlet页面显示
final InforData inforData=new InforData();
//取得product数据表的数据
final String[][] products=inforData.getProductByName("");
//显示产品数组
showProduct(out,products);
out.println("<br><p><a href=\"inforsearch.jsp\">返回查询页面</a></p>");
requestDispatcher=application.getRequestDispatcher("/bottom.jsp");
//将定义的页面在servlet页面显示
requestDispatcher.include(request, response);
}
//doPost方法
public void doPost(final HttpServletRequest request,final HttpServletResponse response)
throws ServletException,IOException{
//设置字符输出的编码机制
response.setContentType(CONTENT_TYPE);
//取得html代码输出类
final PrintWriter out=response.getWriter();
//通过HttpServletContext方法取得application的对象
final ServletContext application=getServletContext();
//设置获得参数的编码机制
request.setCharacterEncoding("GBK");
//创建页面转向类
RequestDispatcher requestDispatcher=application.getRequestDispatcher("productsearch.jsp");
//将定义的页面在servlet页面
requestDispatcher.include(request, response);
//创建数据类
final InforData inforData=new InforData();
//取得传入的字段名字参数
final String fieldName=request.getParameter("fieldName");
//取得传入的比较符号参数
final int compareSymbol=Integer.parseInt(request.getParameter("compareSymbol"));
//创建product数据表的数据
String[][]products=null;
//根据名字查询产品记录的方法
if(fieldName.equals("name")){
//取得查询关键词
final String keyWords=request.getParameter("keyWords");
products=inforData.getProductByName(keyWords);
//根据数组查询产品记录的方法
}else{
//取得查询的关键数字
double keyWords=0;
try{
keyWords=Double.parseDouble(request.getParameter("keyWords"));
}catch(final Exception ex){
response.sendRedirect("error.jsp?infor=请输入数字");
return;
}
switch(compareSymbol){
case 0: case 1: case 2: case 3:
products=inforData.getProductByNum(compareSymbol, fieldName, keyWords);
break;
case 4:
products=inforData.getProductByIsUsed(keyWords);
break;
}
}
//显示产品数组
showProduct(out,products);
out.println("<br><p><a href=\"inforsearch.jsp\">返回查询主页</a></p>");
requestDispatcher=application.getRequestDispatcher("bottom.jsp");
//将定义的页面在servlet页面显示
requestDispatcher.include(request, response);
}
//显示产品数组的方法
public void showProduct(final PrintWriter out,final String[][] products){
//写出products数组的全部数据
out.println("<table cellpadding=\"5\" cellspacing=\"0\" border=\"1\">");
out.println("<tr align=\"center\">");
out.println("<td>序号</td>");
out.println("<td>产品名字</td>");
out.println("<td>类别ID</td>");
out.println("<td>单位数量</td>");
out.println("<td>单价</td>");
out.println("<td>库存量</td>");
out.println("<td>定购量</td>");
out.println("<td>最小库存量</td>");
out.println("<td>是否可用</td>");
out.println("</tr>");
for(int i=0;i<products.length;i++){
if(products[0].length>1){
out.println("<tr>");
out.println("<td>"+(i+1)+"</td>");
for(int j=1;j<products[0].length;j++){
out.println("<td>"+products[i][j]+"</td>");
}
out.println("</tr>");
}else{
out.println("<tr><ts colspan=\"9\">"+products[i][0]+"</td></tr>");
}
out.println("</table>");
}
}
public void destroy(){
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -