最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

编写线程安全的JSP程序_MySQL

来源:动视网 责编:小采 时间:2020-11-09 17:08:28
文档

编写线程安全的JSP程序_MySQL

编写线程安全的JSP程序_MySQL:作者:徐春金 String inssql = insert into buy(empid, name, dept) values (, , ,); stmt = conn.prepareStatement(inssql); stmt.setString(1, name); stmt.setString(2, procuct); stm
推荐度:
导读编写线程安全的JSP程序_MySQL:作者:徐春金 String inssql = insert into buy(empid, name, dept) values (, , ,); stmt = conn.prepareStatement(inssql); stmt.setString(1, name); stmt.setString(2, procuct); stm


作者:徐春金



String inssql = "insert into buy(empid, name, dept) values (?, ?, ?,?)";
stmt = conn.prepareStatement(inssql);

stmt.setString(1, name);
stmt.setString(2, procuct);
stmt.setInt(3, quantity);
stmt.execute();
}

catch (Exception e)
{
System.out.println("SQLException was thrown: " + e.getMessage());
}
finally //close connections and {
try {
if(stmt != null)
stmt.close();
if(conn != null)
conn.close();
} catch (SQLException sqle) {
System.out.println("SQLException was thrown: " + sqle.getMessage());
}
}
}
%>


在该JSP文件中加上: <%@ page isThreadSafe="false" %>,使它以单线程方式执行,这时,仍然只有一个实例,所有客户端的请求以串行方 式执行。这样会降低系统的性能.

  • 对函数savebuy()加synchronized进行线程同步,该JSP仍然以多线程方式执行,但也会降低系统的性能
    public synchronized void savebuy()
    {
    ......
    }
  • 采用局部变量代替实例变量,函数savebuy()声明如下:
    因为在savebuy()中使用的是传给他的形参,是在堆栈中分配的,所以是线程安全的.
    public void savebuy(String name,String product, int quantity)
    {
    ......
    }

    调用方式改为:
    <%
    String name
    String product;
    long quantity;

    name=request.getParameter("name");
    product=request.getParameter("product");
    quantity=request.getParameter("quantity");
    savebuy(name,product,quantity)
    %>

  • 文档

    编写线程安全的JSP程序_MySQL

    编写线程安全的JSP程序_MySQL:作者:徐春金 String inssql = insert into buy(empid, name, dept) values (, , ,); stmt = conn.prepareStatement(inssql); stmt.setString(1, name); stmt.setString(2, procuct); stm
    推荐度:
    标签: 安全 程序 编写
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top