📄 editpageservlet.java
字号:
package UI;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.NoSuchElementException;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import date.DateBean;
import datebase.DB;
import java.sql.*;
public class EditPageServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
HttpSession session=request.getSession();
String name=request.getParameter("search").toString(); //记录下查询方式
String key=request.getParameter("key").toString(); //记录下查询的关键字
DateBean father=null; //超类
ResultSet rs=null;
if(session.getAttribute("what").equals("User"))
father=(DateBean)session.getAttribute("User");
else
father=(DateBean)session.getAttribute("Book");
String table=father.getTableName(); //记录下操作的表
int len=0;
Vector metaData=father.getMetaData(); //得到表的元数据,用于生成HTML表单
response.setContentType("text/html");
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println("<form method='post' name='listForm' action='"+request.getRequestURI()+"'>");
out.println("<table width='550' cellpadding=6 cellspacing=0 border=1 align='center'>");
out.println("修改或删除图书");
out.println("<tr bgcolor='#C3C3C3'>");
try{
out.println(" <tr>");
len=metaData.size();
for(int i=0;i<len;i++){
out.println(" <td bgcolor='#D9D9D9'>"+metaData.elementAt(i)+"</td>");
}
out.println(" <td bgcolor='#D9D9D9'>操作</td>");
out.println(" </tr>");
}
catch(NoSuchElementException ee){
ee.toString();
}
try{
String sql="select * from "+table+" where "+name+"="+"'"+key+"'";
DB db=DB.getinstance();
rs=db.select(sql);
int length=rs.getMetaData().getColumnCount();
session.setAttribute("length",Integer.toString(length));
while(rs.next()){
out.println("<tr bgcolor='#ffffff'>");
for(int i=1;i<=length;i++){
out.println(" <td>");
String temp=rs.getString(i).toString();
out.println(temp);
out.println(" </td>");
}
out.println("<td><input type='radio' name='userId' value='"+rs.getString(1).toString()+"' ></td>");
out.println("</tr>");
}
}
catch(Exception e){
e.toString();
System.out.print("错误");
//跳到错误处理页面!!!!!
}
out.println("<tr>");
out.println("<td><input type='radio' name='operate' value='edit'>修改</td>");
out.println("<td><input type='radio' name='operate' value='delete' >删除</td>");
out.println("<td><input type=submit name='ok' value='确定'>");
out.println("</td></tr>");
out.println(" </table>");
out.println("</form>");
out.println("</BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//request.setCharacterEncoding("GB2312");
response.setContentType(CONTENT_TYPE);
HttpSession session=request.getSession();
PrintWriter out = response.getWriter();
String userId=request.getParameter("userId").toString();
String operate=request.getParameter("operate").toString(); //记录下到底是修改还是删除
session.setAttribute("userId",userId);
session.setAttribute("operate",operate); //request里面的参数根本就传不到后面的页面里去,所以同意的放在session里面
DateBean father=null; //超类
if(session.getAttribute("what").equals("User"))
father=(DateBean)session.getAttribute("User");
else
father=(DateBean)session.getAttribute("Book");
Vector metaData=father.getMetaData();
int len=metaData.size();
session.setAttribute("page","edit"); //标识是从edit页面来的请求
if(operate.equals("edit")){ //进行修改操作,打印填入新数据的表格
out.println("<HTML>");
System.out.print("!!!!!!!!!!!");
out.println("<BODY>");
out.println("<form name='form2' action='/MyLiabary/actionServlet' method='post'><p>输入新的信息:");
for(int i=0;i<len;i++){
out.println("<INPUT type='text' name='"+metaData.elementAt(i)+"' />");
}
out.println("<INPUT type='submit' value='确定'> ");
out.println("</form>");
out.println("</BODY>");
out.println("</HTML>");
}
else{
father.setPKValue(userId); //保存对哪项记录操作
session.setAttribute("EditPageValue",father);
request.getRequestDispatcher("/actionServlet").forward(request,response);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -