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 ...
随机推荐
- ASP.NET MVC 学习笔记(三),排序加查找
首先先说排序 非常的简单 代码如下 //创建视图 public ViewResult Index() { //升序排列 IEnumerable<Product> Prodcuts = re ...
- .net core获取服务器本地IP及Request访问端口
string str = (Request.HttpContext.Connection.LocalIpAddress.MapToIPv4().ToString() + ":" + ...
- .netcore部署centos
前言:最近公司有个项目用 .netcore开发的项目,然后闲的没事就研究如果发布到Linux系统上 需要安装的插件以及支撑架构 1.dotnetSDK 2.jexus Jexus 是Linux平台上 ...
- wpf ,只能窗口调整高度,并且设定最小值。
MaxWidth="900" WindowStyle="ToolWindow" ResizeMode="CanResize" WindowS ...
- 修改tomcat7编码问题(重定向等)
修改tomcat默认编码格式: 修改tomcat下的conf/server.xml文件,找到如下代码: <Connector port="8080" protocol=&qu ...
- android界面
自定义控件EditText 在src中的drawable新建myeditext.xml文件<?xml version="1.0" encoding="utf-8&q ...
- MySQL中整型和字符串类型指定长度的含义
引入: int(5)和char(5)或者varchar(5)中的数字指的是什么意思?是字节数,还是字符长度?为什么在整型中指定了int(5)却可以输入123456? 答案是后者,不管是整型还是字符串类 ...
- nginx 开启GZIP、域名指向index.html
nginx 虽然默认开启了gzip压缩,但是有关压缩文件.压缩效率没有开启,在建设我的(个人博客)[www.fayinme.cn]中,直观的感受到gzip带来的访问速度提升的快感. 如何开启GZIP ...
- HTML简单登录和注册页面及input标签诠释
今天第一次接触HTML这种语言,虽然不能完全理解其中的意思,过去学的英语单词几乎也忘了差不多了,但是感觉进入这门语言学习之后就没有那么难了,一步一步来吧!下面巩固下今天学内容: HTML是一种超文本标 ...
- 浅析js中取绝对值的2种方法
1.abs() var aaa=-20; var bbb=Math.abs(aaa); 2.加减法 var aaa=-20; var bbb=-aaa