Jsp&Servlet入门级项目全程实录第3讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧!
1、建立数据表及数据(略) 2、装载驱动,建立数据表
<link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.3/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="jquery-easyui-1.3.3/themes/icon.css">
<script type="text/javascript" src="jquery-easyui-1.3.3/jquery.min.js"></script>
<script type="text/javascript" src="jquery-easyui-1.3.3/jquery.easyui.min.js"></script>
<script type="text/javascript" src="jquery-easyui-1.3.3/locale/easyui-lang-zh_CN.js"></script> <table id="dg" title="班级信息" class="easyui-datagrid" fitColumns="true" pagination="true" rownumbers="true" fit="true" url="gradeList">
<thead>
<tr>
<th field="id" width="50" >编号</th>
<th field="gradeName" width="100" >班级名称</th>
<th field="gradeDesc" width="250" >班级描述</th>
</tr>
</thead>
</table>
field:与数据库名称相同
fitColumns:自适应
pagination:分页
rownumbers:行号
fit:最大化
url:请求的地址 3、model
package com.java1234.model; public class Grade {
private int id;
private String gradeName;
private String gradeDesc; public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getGradeName() {
return gradeName;
}
public void setGradeName(String gradeName) {
this.gradeName = gradeName;
}
public String getGradeDesc() {
return gradeDesc;
}
public void setGradeDesc(String gradeDesc) {
this.gradeDesc = gradeDesc;
}
} 4、创建GradeListServlet及配置web.xml、填写url请求
package com.java1234.web; import java.io.IOException;
import java.sql.Connection; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; import com.java1234.dao.GradeDao;
import com.java1234.model.PageBean;
import com.java1234.util.DbUtil;
import com.java1234.util.JsonUtil;
import com.java1234.util.ResponseUtil; public class GradeListServlet extends HttpServlet{ @Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//转换doPost
this.doPost(request, response);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { }
} <servlet>
<servlet-name>gradeListServlet</servlet-name>
<servlet-class>com.java1234.web.GradeListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>gradeListServlet</servlet-name>
<url-pattern>/gradeList</url-pattern>
</servlet-mapping> <table id="dg" title="班级信息" class="easyui-datagrid" fitColumns="true" pagination="true" rownumbers="true" url="gradeList"> 5、分页
String * from table limie start,size
start起始页
size每页大小 算法
start=(page-1)*rows; 封装page对象
package com.java1234.model; public class PageBean { private int page;//第几页
private int rows;//每页记录数
private int start;//起始页 public PageBean(int page, int rows) {
super();
this.page = page;
this.rows = rows;
} public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getRows() {
return rows;
}
public void setRows(int rows) {
this.rows = rows;
}
public int getStart() {
return (page-1)*rows;
} } 6、取数据
public ResultSet gradeList(Connection con,PageBean pageBean)throws Exception{
StringBuffer sb=new StringBuffer("select * from t_grade");
if(pageBean!=null){
sb.append(" limit "+pageBean.getStart()+","+pageBean.getRows());
}
PreparedStatement pstmt=con.prepareStatement(sb.toString());
return pstmt.executeQuery();
} 7、创建jsonUtil并导入json-lib包(将rs转换成List)
public static JSONArray formatRsToJsonArray(ResultSet rs)throws Exception{
ResultSetMetaData md=rs.getMetaData();
int num=md.getColumnCount();
JSONArray array=new JSONArray();
while(rs.next()){
JSONObject mapOfColValues=new JSONObject();
for(int i=1;i<=num;i++){
mapOfColValues.put(md.getColumnName(i),rs.getObject(i));
}
array.add(mapOfColValues);
}
return null;
}
ResultSetMetaData得到结果集(rs)的结构信息,比如字段数、字段名等。
int num=md.getColumnCount();取得列数 8、封闭PageBean加构造方法
//封装
PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows)); public PageBean(int page, int rows) {
super();
this.page = page;
this.rows = rows;
} 9、获取总记录数
public int gradeCount(Connection con)throws Exception{
String sql="select count(*) as total from t_grade";
PreparedStatement pstmt=con.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
if(rs.next()){
return rs.getInt("total");
}else{
return 0;
}
} 10、封装向页面输出数据
public static void write(HttpServletResponse response,JSONObject jsonObject)throws Exception{
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.println(jsonObject.toString());
out.flush();
out.close();
}
Jsp&Servlet入门级项目全程实录第3讲的更多相关文章
- Jsp&Servlet入门级项目全程实录第1讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.jdbc数据库连接(略) 2.登录表单 2.1设置内边距 <dir style="padding- ...
- Jsp&Servlet入门级项目全程实录第8讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.添加dao public int studentAdd(Connection con,Student studen ...
- Jsp&Servlet入门级项目全程实录第7讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.获取搜索条件值 function searchStudent(){ $('#dg').datagrid('load ...
- Jsp&Servlet入门级项目全程实录第4讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.添加搜索.添加.修改.删除按钮 <div id="tb"> <div> ...
- Jsp&Servlet入门级项目全程实录第2讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.导入jquery-easyui-1.3.3包( http://www.jeasyui.com/) 2.在页面导入e ...
- Jsp&Servlet入门级项目全程实录第6讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.建立数据表及数据(略) 2.创建student model package com.java1234.model; ...
- Jsp&Servlet入门级项目全程实录第5讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.修改功能实现 dao public int gradeAdd(Connection con,Grade grade ...
- JSP/Servlet Web应用中.properties文件的放置与读取
本地项目 在本地类库中,我经常使用当前目录来放置.properties文件,这时调用方只要引用我的jar,并且将我的.properties放在他的classpath里面即可,比如: p.load(ne ...
- 创建jsp+Servlet+JavaBean+JDBC+MySQL项目的过程
1 根据需求建立Mysql数据,确立数据库的表的字段.属性.主键,外键等.下面我使用的数据库名dev ,表名user,字段 name,设置为主键.用户名不能为空,字段password,密码 2 在E ...
随机推荐
- WPF之坑——surface触控失灵之谜
本次又遇到了WPF编写触控程序的一个问题,虽然已解决,但原因确搞不太明白,希望有大神看到这篇文章帮我解答. 在项目中实现了自己定义的icommandsource,因为需要对触控有特殊需求,控件对鼠标与 ...
- Redis的快照
博客链接:http://www.cnblogs.com/zhenghongxin/p/8669913.html redis 本地持久化到硬盘有两种方式,一是快照(snapshotting),二是只追加 ...
- asp.net mvc 5 初体验
参考:http://www.asp.net/mvc/tutorials/mvc-5/introduction/getting-started 1. 新建 ASP.Net Web 应用程序,跟着向导一路 ...
- Redis偶发连接失败案例分析
[作者] 张延俊:携程技术保障中心资深DBA,对数据库架构和疑难问题分析排查有浓厚的兴趣. 寿向晨:携程技术保障中心高级DBA,主要负责携程Redis及DB的运维工作,在自动化运维,流程化及监控排障等 ...
- mysql编写存储过程(2)
书接上回. 实例8:if-then -else语句 实例9:case语句: 实例10:循环语句,while ···· end while: 实例11:循环语句,repeat···· end repea ...
- python相见恨晚的库
1)基本工具: virtualenv(虚拟环境)pip.setuptools (e.g. easy_install,这些东西肯定要呢)ipython(用了以后,就不再想用普通的python shell ...
- POJ 2247
#include<iostream> #include<algorithm> #include<vector> #include<string> #in ...
- POJ 1163
#include<iostream> #include<stdio.h> #include<algorithm> using namespace std; int ...
- Spark安装过程
Precondition:jdk.Scala安装,/etc/profile文件部分内容如下: JAVA_HOME=/home/Spark/husor/jdk CLASSPATH=.:$JAVA_HOM ...
- (转)测试rootvg卷组的镜像的官方做法
测试rootvg卷组的镜像的官方做法 这篇文档介绍了测试rootvg卷组镜像的方法,此文档仅使用于带有热插拔硬盘的pSeries服务器.由于rootvg卷组包含有AIX操作系统,在做卷组镜像配置上比非 ...