怎么把数据库里面的一列求和,然后把结果取出来显示在jsp页面上??
我是新手啊,我把数据里的数据全取出来放在ArrayList里面了,但是我想让km(数据库第十列)这一列的数求和,然后把结果显示在jsp页面上,该怎么做?jsp页面上怎么接收?拜求各位大神帮忙指导啊。我具体的servlet代码如下
package bao;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Insert extends HttpServlet {
private static final long serialVersionUID = 1L;
public static final String DBURL="jdbc:mysql://localhost:3306/test";
public static final String DBUSER="root";
public static final String DBPASS="";
/**
* @see HttpServlet#HttpServlet()
*/
public Insert() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF8") ;
response.setCharacterEncoding("utf-8") ;
String day=request.getParameter("day");
String classt=request.getParameter("classt");
String starttingtime1=request.getParameter("starttingtime");
int starttingtime=Integer.parseInt(starttingtime1);
String finishtime1=request.getParameter("finishtime");
int finishtime=Integer.parseInt(finishtime1);
String origin=request.getParameter("origin");
String finish=request.getParameter("finish");
String startkm1=request.getParameter("startkm");
int startkm=Integer.parseInt(startkm1);
String finishkm1=request.getParameter("finishkm");
int finishkm =Integer.parseInt(finishkm1);
int km;
int allowance=0;
km=finishkm-startkm;
try{
Connection conn=null;
Statement st=null;
Class.forName("com.mysql.jdbc.Driver");
conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=&useUnicode=true&characterEncoding=utf-8");
st =conn.createStatement();
String sql="insert into jixiao2(day,classt,starttingtime,finishtime,origin,finish,startkm,finishkm,km,allowance)"+"values('"+day+"', '"+classt+"', '"+starttingtime+"', '"+finishtime+"','"+origin+"','"+finish+"', '"+startkm+"','"+finishkm+"','"+km+"','"+allowance+"')";
st.execute(sql);
} catch (Exception e)
{
e.printStackTrace();
}
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
ArrayList<Jixiao> list =new ArrayList<Jixiao>();
String sql ="select * from jixiao2";
// String sql1="select sum(km) as sumkm from jixiao2";
PreparedStatement pstmt =conn.prepareStatement(sql);
// Statement stmt=conn.createStatement();
// ResultSet rssumkm1=stmt.executeQuery(sql1);
ResultSet rs=pstmt.executeQuery();
while(rs.next())
{
Jixiao jx=new Jixiao();
jx.setId(rs.getInt(1));
jx.setDay(rs.getString(2));
jx.setClasst(rs.getString(3));
jx.setStarttingtime(rs.getInt(4));
jx.setFinishtime(rs.getInt(5));
jx.setOrigin(rs.getString(6));
jx.setFinish(rs.getString(7));
jx.setStartkm(rs.getInt(8));
jx.setFinishkm(rs.getInt(9));
jx.setKm(rs.getInt(10));
jx.setAllowance(rs.getInt(11));
list.add(jx);
}
request.setAttribute("list", list);
request.getRequestDispatcher("Showlist.jsp").forward(request, response);
}catch (ClassNotFoundException e)
{
e.printStackTrace();
}catch (SQLException e)
{
e.printStackTrace();
}
}
}