当前位置: 首页 > news >正文

企业网站推广技巧和方法鞍山市城市建设管理局网站

企业网站推广技巧和方法,鞍山市城市建设管理局网站,非响应式网站改响应式,动易建网站时间#xff1a;2016-12-11 01:411、分页的优点#xff1a;只查询一页#xff0c;不需要查询所有数据#xff0c;能够提高效率。2、分页数据页面的数据都是由Servlet传递的* 当前页#xff1a;pageCode 如果页面没有向Servlet传递页码#xff0c;那么Servlet默认…时间2016-12-11 01:411、分页的优点只查询一页不需要查询所有数据能够提高效率。2、分页数据页面的数据都是由Servlet传递的*   当前页pageCode   如果页面没有向Servlet传递页码那么Servlet默认为第一页否则按照传递页码为准。*   总页数totalPages   总记录数 / 每页记录数*   总记录数totalRecord   Dao来获取select count(*) from customer*   每页记录数称为业务数据或系统数据。*   当前页数据beanList*   URL3、数据的传递这些分页数据总要在各层之间来回传递可以把这些分页数据封装到一个JavaBean中它就叫分页Bean例如PageBean。import java.util.List;public class PageBean {// 当前页码pageCodeprivate int pageCode;/** 总页数* 通过计算得出不允许外界设置值* 因为只能get所以不需要成员变量通过计算即可得出*/// private int totalPages;// 总记录数private int totalRecord;// 每页记录数private int pageSize;// 当前页的记录private List beanList;public int getPageCode() {return pageCode;}public void setPageCode(int pageCode) {this.pageCode pageCode;}public int getTotalPages() {/** 计算总页数* 通过总记录数和每页记录数来计算总页数当存在余数时总页数 1*/int totalPages totalRecord / pageSize;return totalRecord % pageSize 0 ? totalPages : totalPages 1;}// public void setTotalPages(int totalPages) {// this.totalPages totalPages;// }public int getTotalRecord() {return totalRecord;}public void setTotalRecord(int totalRecord) {this.totalRecord totalRecord;}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize pageSize;}public List getBeanList() {return beanList;}public void setBeanList(List beanList) {this.beanList beanList;}Overridepublic String toString() {return PageBean [pageCode pageCode , totalPages , totalRecord totalRecord , pageSize pageSize , beanList beanList ];}public PageBean(int pageCode, int totalRecord, int pageSize, List beanList) {super();this.pageCode pageCode;this.totalRecord totalRecord;this.pageSize pageSize;this.beanList beanList;}public PageBean() {super();}}4、分页在各层中的处理*   页面给出分页相关的链接。   页面需要给Servlet传递当前页码。*   Servlet创建PageBean对象 给PageBean对象所有的属性赋值然后传递给页面。   给Dao传递当前页码和每页记录数。*   Service略*   Dao   负责获取totalRecordselect count(*) from customer   负责获取BeanListselect * from customer limit x, y从x行开始查询y行。   limit计算公式(当前页-1) * 每页记录数得出的就是起始行5、显示分页页码列表1 2 3 4 5 6 7 8 9 10*   最多显示多少个页码   暂定10个*   当前页在页码列表中的位置   暂定为6只需要pageCode就可以完成页码列表需要使用pageCode来推算出起始页码(begin)和结束页码(end)计算公式*   如果总页数 10(列表长度)那么begin 1end 总页数*   如果总页数 10使用公式计算   begin pageCode - 5   end pageCode 4   begin溢出当begin小于1时让begin 1   end溢出当end totalPages时让end totalPages6、在超链接中保留请求参数当使用多条件查询时如果点击其它超链接会丢失原超链接中的参数也就是丢失请求条件所以需要在页面的所有超链接中都要保留参数。可以把?后的全部参数用一个字符串保存到PageBean的URL属性中这个任务交给Servlet。然后在页面中使用${pageBean.url }来设置超链接。——项目代码com.wyc.cstm.dao.CustomerDaoimport java.util.ArrayList;import java.util.List;import org.apache.commons.dbutils.QueryRunner;import org.apache.commons.dbutils.handlers.BeanListHandler;import org.apache.commons.dbutils.handlers.ScalarHandler;import com.wyc.cstm.domain.Customer;import com.wyc.cstm.domain.PageBean;import com.wyc.jdbc.TxQueryRunner;/*** 持久层 通过QueryRunner来操作数据库** author 31067**/public class CustomerDao {private QueryRunner qr new TxQueryRunner();// /*// * 查询全部客户信息// */// public List findAll() {// try {// String sql select * from customer;// return qr.query(sql, new BeanListHandler(Customer.class));// } catch (Exception e) {// throw new RuntimeException(e);// }// }public PageBean findAll(int pageCode, int pageSize) {try {/** 1、创建PageBean对象 2、设置PageBean对象的pageCode和pageSize* 3、得到totalRecord设置给pageBean 4、得到beanList设置给pageBean 5、返回pageBean*/PageBean pageBean new PageBean();/** 设置pageCode、pageSize*/pageBean.setPageCode(pageCode);pageBean.setPageSize(pageSize);/** 得到totalRecord*/String sql select count(*) from customer;// 返回值类型是Object强转为Number类型Number num (Number) qr.query(sql, new ScalarHandler());int totalRecord num.intValue();pageBean.setTotalRecord(totalRecord);/** 得到beanList*/sql select * from customer order by cname limit ?, ?;// (当前页码 - 1) * 每行记录数 起始行Object[] params { (pageCode - 1) * pageSize, pageSize };List beanList qr.query(sql, new BeanListHandler(Customer.class), params);pageBean.setBeanList(beanList);return pageBean;} catch (Exception e) {throw new RuntimeException(e);}}/*** 多条件组合查询** param criteria* return*/// public List query(Customer criteria) {// /*// * 1、给出SQL模板// * 2、给出参数// * 3、调用query()方法// * 结果集处理器BeanListHandler// *///// // 给出SQL语句的前半部分// StringBuilder sql new// StringBuilder(select * from customer where 1 1);// /*// * 1、判断条件向SQL语句中追加where子句// * 因为不能确定是否包含该参数所以需要使用if语句来判断// * 2、给出参数// * 因为不能确定?占位符所对应的参数所以在判断参数时就要添加参数// * 使用ArrayList来装载参数// *///// // 装载参数// List params new ArrayList();////// String cname criteria.getCname();// if(cname ! null !cname.trim().isEmpty())// {// sql.append( and cname ?);// //模糊查询// params.add(% cname %);// }//// String gender criteria.getGender();// if(gender ! null !gender.trim().isEmpty())// {// sql.append( and gender ?);// params.add(gender);// }//// String cellphone criteria.getCellphone();// if(cellphone ! null !cellphone.trim().isEmpty())// {// sql.append( and cellphone ?);// params.add(% cellphone %);// }//// String email criteria.getEmail();// if(email ! null !email.trim().isEmpty())// {// sql.append( and email ?);// params.add(% email %);// }//// /*// * 执行query// */// try {// return qr.query(sql.toString(), new// BeanListHandler(Customer.class), params.toArray());// } catch (SQLException e) {// throw new RuntimeException(e);// }// }public PageBean query(Customer criteria, int pageCode, int pageSize) {try {/** 1、创建PageBean对象 2、设置已有属性pageCode和pageSize 3、得到totalRecord* 4、得到BeanList*//** 创建PageBean对象设置已有属性*/PageBean pageBean new PageBean();pageBean.setPageCode(pageCode);pageBean.setPageSize(pageSize);/** 得到tr需要根据条件进行查询*/// 给出SQL语句的前半部分StringBuilder countSql new StringBuilder(select count(*) from customer);StringBuilder whereSql new StringBuilder( where 1 1);/** 1、判断条件向SQL语句中追加where子句 因为不能确定是否包含该参数所以需要使用if语句来判断 2、给出参数* 因为不能确定?占位符所对应的参数所以在判断参数时就要添加参数 使用ArrayList来装载参数*/// 装载参数List params new ArrayList();String cname criteria.getCname();if (cname ! null !cname.trim().isEmpty()) {whereSql.append( and cname like ?);// 模糊查询params.add(% cname %);}String gender criteria.getGender();if (gender ! null !gender.trim().isEmpty()) {whereSql.append( and gender ?);params.add(gender);}String cellphone criteria.getCellphone();if (cellphone ! null !cellphone.trim().isEmpty()) {whereSql.append( and cellphone like ?);params.add(% cellphone %);}String email criteria.getEmail();if (email ! null !email.trim().isEmpty()) {whereSql.append( and email like ?);params.add(% email %);}/** 执行SQL语句 select count(*) from customer where ....*/Number num (Number) qr.query(countSql.append(whereSql).toString(), new ScalarHandler(), params.toArray());int totalRecord num.intValue();pageBean.setTotalRecord(totalRecord);/** 得到beanList*/StringBuilder sql new StringBuilder(select * from customer);/** 查询beanList这一步还需要给出limit子句*/StringBuilder limitSql new StringBuilder( limit ?,?);/** params中需要给出limit后对应的参数值*/params.add((pageCode - 1) * pageSize);params.add(pageSize);List beanList qr.query(sql.append(whereSql).append(limitSql).toString(), new BeanListHandler(Customer.class), params.toArray());pageBean.setBeanList(beanList);return pageBean;} catch (Exception e) {throw new RuntimeException(e);}}}com.wyc.cstm.domain.Customer/*** 领域对象* 与表单和数据库表对应*/public class Customer {/** 对应数据库表* cid CHAR(32) PRIMARY KEY,* cname VARCHAR(40) NOT NULL,* gender VARCHAR(6) NOT NULL,* birthday CHAR(10),* cellphone VARCHAR(15),* email VARCHAR(40),* description VARCHAR(500)*/private String cid;//主键private String cname;//客户姓名private String gender;//性别private String birthday;//客户生日private String cellphone;//客户手机private String email;//客户邮箱private String description;//客户信息描述public String getCid() {return cid;}public void setCid(String cid) {this.cid cid;}public String getCname() {return cname;}public void setCname(String cname) {this.cname cname;}public String getGender() {return gender;}public void setGender(String gender) {this.gender gender;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday birthday;}public String getCellphone() {return cellphone;}public void setCellphone(String cellphone) {this.cellphone cellphone;}public String getEmail() {return email;}public void setEmail(String email) {this.email email;}public String getDescription() {return description;}public void setDescription(String description) {this.description description;}Overridepublic String toString() {return Customer [cid cid , cname cname , gender gender , birthday birthday , cellphone cellphone , email email , description  description ];}public Customer(String cid, String cname, String gender, String birthday, String cellphone, String email, String description) {super();this.cid cid;this.cname cname;this.gender gender;this.birthday birthday;this.cellphone cellphone;this.email email;this.description description;}public Customer() {super();}}com.wyc.cstm.service.CustomerServiceimport com.wyc.cstm.dao.CustomerDao;import com.wyc.cstm.domain.Customer;import com.wyc.cstm.domain.PageBean;/*** 业务层 依赖Dao*/public class CustomerService {private CustomerDao customerDao new CustomerDao();// /**// * 查询所有客户// * return// */// public List findAll(){// return customerDao.findAll();// }public PageBean findAll(int pageCode, int pageSize) {return customerDao.findAll(pageCode, pageSize);}/*** 多条件组合查询** param criteria* return*/public PageBean query(Customer criteria, int pageCode, int pageSize) {return customerDao.query(criteria, pageCode, pageSize);}}com.wyc.cstm.web.servlet.CustomerServletimport java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.wyc.bean.CommonUtils;import com.wyc.cstm.domain.Customer;import com.wyc.cstm.domain.PageBean;import com.wyc.cstm.service.CustomerService;import com.wyc.servlet.BaseServlet;/*** Web层** author 31067**/public class CustomerServlet extends BaseServlet {private CustomerService customerService new CustomerService();// public String findAll(HttpServletRequest request, HttpServletResponse// response) throws ServletException, IOException {// /*// * 1、调用service得到所有客户// * 2、将全部信息保存到request域中// * 3、转发到list.jsp// */// request.setAttribute(cstmList, customerService.findAll());// return f:/list.jsp;// }public String findAll(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {/** 1、获取页面传递的pageCode* 2、给定pageSize的值* 3、使用pageCode和pageSize调用Service方法得到PageBean对象* 4、将PageBean对象保存到request域中* 5、转发到list.jsp*//** 1、得到pageCode有两种可能*     如果pageCode参数不存在说明pageCode 1*     如果pageCode参数存在只需要将参数转换成int类型即可*/int pageCode getPageCode(request);/** 2、给定pageSize的值每页10行*/int pageSize 10;/** 3、调用Service的findAll方法*     传递pageCode和pageSize给Service方法*     返回PageBean对象*/PageBean pageBean customerService.findAll(pageCode, pageSize);/** 添加URL及参数*/pageBean.setUrl(getUrl(request));/** 4、将PageBean对象保存到request域中*/request.setAttribute(pageBean, pageBean);return f:list.jsp;}private int getPageCode(HttpServletRequest request) {String value request.getParameter(pageCode);if (value null || value.trim().isEmpty()) {return 1;}return Integer.parseInt(value);}// public String query(HttpServletRequest request, HttpServletResponse// response) throws ServletException, IOException {// /*// * 1、封装表单数据到Customer对象中它只有四个属性cname、gender、cellphone、email// * 它其实就是一个查询条件的组合对象// * 2、调用Service的query()方法得到List// * 3、将List保存到request域中// * 4、转发到list.jsp// *///// Customer criteria CommonUtils.toBean(request.getParameterMap(),// Customer.class);// List cstmList customerService.query(criteria);// request.setAttribute(cstmList, cstmList);// return f:list.jsp;// }public String query(HttpServletRequest request, HttpServletResponse response) throws Exception {/** 0、把条件参数封装到Customer对象中 1、获取页面传递的pageCode 2、给定pageSize的值* 3、使用pageCode和pageSize以及条件字符串调用Service方法得到PageBean对象* 4、将PageBean对象保存到request域中 5、转发到list.jsp*/// 获取查询条件Customer criteria CommonUtils.toBean(request.getParameterMap(), Customer.class);/** 处理GET请求方式编码问题*/criteria encoding(criteria);int pageCode getPageCode(request);int pageSize 10;PageBean pageBean customerService.query(criteria, pageCode, pageSize);/** 得到URL保存到pageBean中*/pageBean.setUrl(getUrl(request));request.setAttribute(pageBean, pageBean);return f:list.jsp;}/*** 处理数据的编码问题** throws Exception*/private Customer encoding(Customer criteria) throws Exception {String cname criteria.getCname();String gender criteria.getGender();String cellphone criteria.getCellphone();String email criteria.getEmail();if (cname ! null !cname.trim().isEmpty()) {cname new String(cname.getBytes(iso-8859-1), utf-8);criteria.setCname(cname);}if (gender ! null !gender.trim().isEmpty()) {gender new String(gender.getBytes(iso-8859-1), utf-8);criteria.setGender(gender);}if (cellphone ! null !cellphone.trim().isEmpty()) {cellphone new String(cellphone.getBytes(iso-8859-1), utf-8);criteria.setCellphone(cellphone);}if (email ! null !email.trim().isEmpty()) {email new String(email.getBytes(iso-8859-1), utf-8);criteria.setEmail(email);}return criteria;}/*** 截取请求URL /项目名/Servlet路径?参数字符串** param request* return*/private String getUrl(HttpServletRequest request) {// 获取项目名String contextPath request.getContextPath();// 获取ServletPath即/CustomerServletString servletPath request.getServletPath();// 获取问号之后的参数部分String queryString request.getQueryString();/** 判断queryString中是否包含pageCode 如果包含需要截取掉pageCode*/if (queryString.contains(pageCode)) {int index queryString.lastIndexOf(pageCode);queryString queryString.substring(0, index);}return contextPath servletPath ? queryString;}}c3p0-config.xmljdbc:mysql://localhost:3306/customerscom.mysql.jdbc.DriverrootAdmin123310210frame.jspString path request.getContextPath();String basePath request.getScheme() :// request.getServerName() : request.getServerPort() path /;%主页list.jspString path request.getContextPath();String basePath request.getScheme() :// request.getServerName() : request.getServerPort() path /;%My JSP list.jsp starting page姓名性别生日手机号码邮箱描述要遍历的是pageBean对象的beanList集合--%${cstm.cname }${cstm.gender }${cstm.birthday }${cstm.cellphone }${cstm.email }${cstm.description }编辑删除给出分页相关的链接--%进行设置了 --%首页上一页 10 --%[${i }]${i }下一页尾页第${pageBean.pageCode }页/共${pageBean.totalPages }页query.jspString path request.getContextPath();String basePath request.getScheme() :// request.getServerName() : request.getServerPort() path /;%My JSP query.jsp starting page高级搜索客户名称客户性别请选择男女手机邮箱 top.jspString path request.getContextPath();String basePath request.getScheme() :// request.getServerName() : request.getServerPort() path /;%My JSP top.jsp starting page客户关系管理系统添加客户  |查询客户 |高级搜索 |返回首页
http://www.zqtcl.cn/news/785167/

相关文章:

  • 怎么提升网站流量做五金建材市场的网站
  • 网站合作流程h5网站怎么做api对接
  • asp.net 网站 结构手机客户端网站建设
  • 图片网站怎么做SEO参与网站建设注意
  • 网站界面设计案例教程wordpress更新报错
  • Dw做网站怎么加logo如何申请小程序店铺
  • 官方网站下载官方版本wordpress文字可以动的插件
  • 企业网站模板 免费下载网站建设服务采购方案模板下载
  • 在万网申请的域名_需要把万网的账户密码给做网站的吗做鱫视频网站
  • 网站建设360wordpress 音乐下载主题
  • 站群推广wordpress换logo
  • 苏州网站建设丶好先生科技电脑怎样做幻灯片的网站
  • 什么网站可以做线上邀请函大米网络营销推广方案
  • .net做网站实例 贴吧软件开发前景和发展
  • 合肥快速建站模板软件开发文档编制
  • 深圳免费网站设计平板做网站服务器
  • 注册或者浏览社交类网站时不恰当威宁做网站
  • 国外的电商网站有哪些方面沈阳医疗网站制作
  • 那个企业网站是用vue做的网站频道运营怎么做
  • 英语培训学校网站怎么做网站建建设公司和网络自建
  • 无法访问iis网站网站吸引客户
  • 郑州企业网站排名优化wordpress指定文章
  • 南京 网站开发宿州网站建设工作室
  • 龙海市城乡规划建设局网站河南郑州哪里可以做公司网站
  • 网站正能量晚上不用下载进入免费成都网站制作方案
  • 宝安做棋牌网站建设哪家公司便宜jsp网站搭建
  • 英文网站建设方法深圳信用网
  • ip查询网站用织梦后台修改网站logo
  • 网站编辑信息怎么做茶叶网站建设策划书ppt
  • 网站建设费摊销几年嵌入式软件开发用什么语言