m0_59366858 2022-12-23 22:28 采纳率: 100%
浏览 67
已结题

数据库修改用到servlet,但是跳转网页空白

######servlet跳转网页空白
######这是源代码

####网页显示空白,请问一下哪里错了。

package huat.com;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
/**
 * Servlet implementation class editTeacher
 */
@WebServlet("/editTeacher.do")
public class editTeacher extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public editTeacher() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException,IOException {
        doGet(request,response);
        String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=study2";
        String userName="sa";
        String userPwd="2020901015";
        try{Class.forName(driverName);
        System.out.println("加载驱动成功!");
        }catch(Exception e){
        e.printStackTrace();
        System.out.println("加载驱动失败!");
        request.setCharacterEncoding("utf-8");
        response.setContentType("text/ html; charset=utf-8");
        PrintWriter out = response.getWriter();
        String teid=request.getParameter("teid");
        String Teid=request.getParameter("Teid");
        String Tename=request.getParameter("Tename");
        String Tegender=request.getParameter("Tegender");
        String Tedegree=request.getParameter("Tedegree");
        String Tejob=request.getParameter("Tejob");
        String Id=request.getParameter("Id");
        try {
        Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
        Statement statement=dbConn.createStatement();
        String sql="update 教师表 set 教师编号='"+Teid+"',tename='"+Tename+"',tegender='"+Tegender+"',tedegree='"+Tedegree+"',tejob='"+Tejob+"',id='"+Id+"'where teid='"+teid+"'";
        response.setContentType("text/html; charset=utf-8");
        PreparedStatement ps=dbConn.prepareStatement(sql);
        ps.executeUpdate();
        request.getRequestDispatcher("teachView.jsp").forward(request,response);
        }catch (SQLException e1) {
        e1.printStackTrace();
        out.print("插入失败");
        }return;

        }
    }

    }

  • 写回答

3条回答 默认 最新

  • wux_labs 2022-12-23 22:48
    关注

    1、网页空白是什么样子的?Served at有没有显示?
    2、System.out.print输出的是啥?
    你这样的结果没问题啊,doGet执行没问题,后面没有了,因为你的代码在try中只有一个System.out.println,其他的都在catch里面,没有异常的情况下catch里面的代码不会执行到的。
    你就只能看到一个served at,后台打印一个加载驱动成功。
    你要把代码从catch里面拿出来,写到catch外面。
    你把doPost的代码复制到doGet里面去。
    望采纳,谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月2日
  • 已采纳回答 12月25日
  • 创建了问题 12月23日

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。