**关于解决servlet中如何修改用户信息的操作分享**
1. 在用户信息的增删改查操作中,修改操作涉及到修改用户信息,我们需要得到用户的*id*和*用户名*...的*请求*信息,如果直接使用update.html的方式就解决不了这个问题,这时我们需要借助一个*中间类*来传输我们需要的请求参数。 下面我们先建一个loadServlet的中间类
`public class LoadServlet extends HttpServlet{ @Override
protected void service(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
//获取请求信息
int tid=Integer.parseInt(req.getParameter("tid"));
PrintWriter pw=resp.getWriter();
pw.println("<form action='update.do'>");
pw.println("<input type='hidden' value='"+tid+"' name='tid'>");
pw.println("姓名:<input type='text' name='tname'>");
pw.println("<input type='submit' value='提交'>");
pw.println("</form>");
pw.close();
}
}
`
2.通过中间类我们在 隐藏的input按钮中得到了我们的请求id 和 text按钮中得到了我们需要修改的用户名字
接下来再创建一个update类用来修改用户信息
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//响应的中文编码格式
response.setContentType("text/html,charset=utf-8");
//获得请求的信息
String id=request.getParameter("tid");
String name=request.getParameter("tname");
Connection conn=null;
try {
conn = JDBCUtil.getConnection();
String sql="update teacher set tname=? where tid=?";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, name);
ps.setInt(2,Integer.parseInt(id));
int index=ps.executeUpdate();
response.sendRedirect("find.do");
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
conn.close();
} catch (Exception e2) {
e2.printStackTrace();
}
} }
}
3.在查询的类中我们的删除按钮首先链接中间类(loadServlrt),然后中间类的action连接到update.do。执行修改操作。
以上是我对修改操作的理解,如有错误,请各位大神指点。