web,xml应用文件

1.<filter>参数

  1. <filter>
  2. <filter-name>encodingFilter</filter-name>
  3. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  4. <init-param>
  5. <param-name>encoding</param-name>
  6. <param-value>UTF-8</param-value>
  7. </init-param>
  8. <init-param>
  9. <param-name>forceEncoding</param-name>
  10. <param-value>true</param-value>
  11. </init-param>
  12. </filter>
  13. <filter-mapping>
  14. <filter-name>encodingFilter</filter-name>
  15. <url-pattern>/*</url-pattern>
  16. </filter-mapping>
  17. <!--多数据源支持监听 -->

java服务端:  每一个file对应一个具体的类,他会在web应用的servlet应用之响应

  1. /*** Eclipse Class Decompiler plugin, copyright (c) 2012 Chao Chen (cnfree2000@hotmail.com) ***/
  2. package org.springframework.web.filter;
  3.  
  4. import java.io.IOException;
  5. import javax.servlet.FilterChain;
  6. import javax.servlet.ServletException;
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9.  
  10. public class CharacterEncodingFilter extends OncePerRequestFilter {
  11. private String encoding;
  12. private boolean forceEncoding = false;
  13.  
  14. public void setEncoding(String encoding) {
  15. this.encoding = encoding;
  16. }
  17.  
  18. public void setForceEncoding(boolean forceEncoding) {
  19. this.forceEncoding = forceEncoding;
  20. }
  21.  
  22. protected void doFilterInternal(HttpServletRequest request,
  23. HttpServletResponse response, FilterChain filterChain)
  24. throws ServletException, IOException {
  25. if ((this.encoding != null)
  26. && (((this.forceEncoding) || (request.getCharacterEncoding() == null)))) {
  27. request.setCharacterEncoding(this.encoding);
  28. if (this.forceEncoding) {
  29. response.setCharacterEncoding(this.encoding);
  30. }
  31. }
  32. filterChain.doFilter(request, response);
  33. }
  34. }

案例二xml

  1. <!--多数据源支持监听 -->
  2. <filter>
  3. <filter-name>dataSourceFilter</filter-name>
  4. <filter-class>cn.jasgroup.jasframework.dataaccess.filter.DataSourceFilter</filter-class>
  5. </filter>
  6. <filter-mapping>
  7. <filter-name>dataSourceFilter</filter-name>
  8. <url-pattern>/*</url-pattern>
  9. </filter-mapping>

java服务器端

  1. /*** Eclipse Class Decompiler plugin, copyright (c) 2012 Chao Chen (cnfree2000@hotmail.com) ***/
  2. package cn.jasgroup.jasframework.dataaccess.filter;
  3.  
  4. import cn.jasgroup.jasframework.dataaccess.observer.DataSourceObserver;
  5. import java.io.IOException;
  6. import javax.servlet.Filter;
  7. import javax.servlet.FilterChain;
  8. import javax.servlet.FilterConfig;
  9. import javax.servlet.ServletException;
  10. import javax.servlet.ServletRequest;
  11. import javax.servlet.ServletResponse;
  12. import javax.servlet.http.HttpServletRequest;
  13.  
  14. public class DataSourceFilter implements Filter {
  15. public void destroy() {
  16. }
  17.  
  18. public void doFilter(ServletRequest request, ServletResponse response,
  19. FilterChain filterChain) throws IOException, ServletException {
  20. HttpServletRequest req = (HttpServletRequest) request;
  21. String datasource = req.getParameter("dataSourceName");
  22. if ((datasource != null) && (!("".equals(datasource)))) {
  23. DataSourceObserver.setDataSourceName(datasource);
  24. }
  25. filterChain.doFilter(request, response);
  26. }
  27.  
  28. public void init(FilterConfig arg0) throws ServletException {
  29. }
  30. }

respoonser实例

  1. /**
  2. * 查询任意圈定区域所在工区信息
  3. *
  4. * @param request
  5. * @param response
  6. * @return
  7. * @throws IOException
  8. */
  9. @RequestMapping("/queryWorkareaInfo")
  10. @ResponseBody
  11. public void queryWorkareaInfo(HttpServletRequest request, HttpServletResponse response) throws IOException {
  12. WorkareaInfoBo winfoBo = new WorkareaInfoBo();
  13. String workareaName = request.getParameter("workareaName");
  14.  
  15. String wellIds = request.getParameter("wellIds");
  16. String wellNames = request.getParameter("wellNames");
  17. try {
  18. wellNames = URLDecoder.decode(wellNames, "UTF-8");
  19. } catch (UnsupportedEncodingException e) {
  20. // TODO Auto-generated catch block
  21. e.printStackTrace();
  22. }
  23.  
  24. // 生产层位
  25. String cengwei = request.getParameter("cengwei");
  26.  
  27. String date_start = request.getParameter("date_start");
  28. String date_end = request.getParameter("date_end");
  29. if (StringUtils.isNotBlank(cengwei)) {
  30. try {
  31. cengwei = URLDecoder.decode(cengwei, "UTF-8");
  32. } catch (UnsupportedEncodingException e) {
  33. // TODO Auto-generated catch block
  34. e.printStackTrace();
  35. }
  36. if (!cengwei.equals("所有层位")) {
  37. String cengwei_wellname = "";
  38. String[] wellarr = wellNames.split(";");
  39. wellNames="";
  40. for (String val : wellarr) {
  41. cengwei_wellname += "'" + val + "',";
  42. }
  43. cengwei_wellname += "@";
  44. cengwei_wellname = cengwei_wellname.replace(",@", "");
  45.  
  46. // cengwei = getChildren(cengwei);
  47.  
  48. // wellNames = "";
  49. // String hql_per = "from Perforationdata where perforationposition in('" + cengwei + "') and wellnum in("
  50. // + cengwei_wellname + ")";
  51. String hql_per = "select distinct(jh) from YCSY_NEWHORIZON where cw in('" + cengwei + "') and jh in("
  52. + cengwei_wellname + ")";
  53.  
  54. List<NewHorizon> list = workareaInfoService.queryPerforation(hql_per);
  55. for (Iterator iterator = list.iterator(); iterator.hasNext();) {
  56. NewHorizon perforationdata = (NewHorizon) iterator.next();
  57. wellNames += perforationdata.getJh() + ";";
  58. }
  59. }
  60. }
  61. // 生产层位end
  62. /*
  63. * try { wellNames = new
  64. * String(wellNames.getBytes("ISO-8859-1"),"UTF-8"); } catch
  65. * (UnsupportedEncodingException e1) { // TODO Auto-generated catch
  66. * block e1.printStackTrace(); }
  67. */
  68.  
  69. Map<String, Object> map = new HashMap<String, Object>();
  70. PageRequest pageRequest = this.getPage(request);
  71. System.out.println(pageRequest + "=pageRequest");
  72. // 根据工区名称查询所有井名称
  73. if (!"".equals(workareaName) && null != workareaName) {
  74. String str = "from Wellinfo where workArea = '" + workareaName + "'";
  75. List<Wellinfo> wellInfoList = workareaInfoService.queryWellinfoList(pageRequest, str);
  76. if (wellInfoList.size() > 0) {
  77. String wellNum = "";
  78. for (int i = 0; i < wellInfoList.size(); i++) {
  79. wellNum = wellInfoList.get(i).getWellName();
  80. wellIds += wellNum + ";";
  81. }
  82. }
  83. }
  84. String hql = joinHql(wellNames, workareaName);
  85. String cyhql = "";
  86. String zshql = "";
  87. if (StringUtils.isNotBlank(workareaName)) {
  88. cyhql = "from Wellinfo where wellType <> '注水井' and workArea = '" + workareaName + "'";
  89. zshql = "from Wellinfo where wellType like '%注水%' and workArea = '" + workareaName + "'";
  90. } else if (StringUtils.isNotBlank(wellIds)) {
  91. cyhql = joinCyWellHql(wellIds);
  92. zshql = joinZsWellHql(wellIds);
  93. } else if (StringUtils.isNotBlank(wellNames)) {
  94. cyhql = joinCyWellHqlName(wellNames);
  95. zshql = joinZsWellHqlName(wellNames);
  96. }
  97. WorkareaInfoBo wibo = workareaInfoService.queryWorkareaInfo(pageRequest, hql + "@" + cyhql + "@" + zshql,
  98. date_start, date_end, wellNames,cengwei);
  99. String sql = "select tmcl cl ,qkzymj mj from ycab03 where qkmc = '东仁沟区'and gxsj=(select max(gxsj) gxsj from ycab03 where qkmc = '东仁沟区')";
  100. List<AreaSeartH> ah = dataReportService.queryAreaAndChuliangServer(sql,AreaSeartH.class);
  101. JSONObject obj = new JSONObject();
  102. DecimalFormat df=new DecimalFormat("0.00");
  103. if(ah.size()>0){
  104. double yujichuliang;
  105. double suoxuanmianji;
  106. obj.put("dzreserves", ah.get(0).getCl());
  107. obj.put("workarea", ah.get(0).getMj());
  108. if(StringUtils.isNotEmpty(ah.get(0).getCl())&&StringUtils.isNotEmpty(wibo.getOilWellNum())){
  109. yujichuliang = Double.parseDouble(ah.get(0).getCl())/1137*Double.parseDouble(wibo.getOilWellNum());
  110. obj.put("guessGeologicla",df.format(yujichuliang));
  111. }else{
  112. obj.put("guessGeologicla", "0.00");
  113. }
  114. if(StringUtils.isNotEmpty(ah.get(0).getMj())&&StringUtils.isNotEmpty(wibo.getOilWellNum())){
  115. suoxuanmianji = Double.parseDouble(ah.get(0).getMj())/1137*Double.parseDouble(wibo.getOilWellNum());
  116. obj.put("calculatearea",df.format(suoxuanmianji));
  117. }else{
  118. obj.put("calculatearea", "0.00");
  119. }
  120. }else{
  121. obj.put("dzreserves", "0.00");
  122. obj.put("workarea", "0.00");
  123. }
  124. obj.put("endDate", wibo.getEndDate());
  125. obj.put("injectWaterNum",wibo.getInjectWaterNum());
  126. obj.put("productOilNum",wibo.getProductOilNum());
  127. obj.put("oilWellNum",wibo.getOilWellNum());
  128. obj.put("startDate", wibo.getStartDate());
  129. obj.put("waterWellNum", wibo.getWaterWellNum());
  130. obj.put("wellNames", wibo.getWellNames());
  131. obj.put("yeliang",wibo.getYeliang());
  132.  
  133. obj.put("currcyou", wibo.getCurrcyou());
  134. obj.put("currzshui",wibo.getCurrzshui());
  135. obj.put("curryeliang", wibo.getCurryeliang());
  136. response.getWriter().write(obj.toString());
  137. response.getWriter().flush();
  138. response.getWriter().close();
  139. }

servlet应用具体实例的更多相关文章

  1. 每一个Servlet只有一个实例,多个线程

    每一个Servlet只有一个实例,多个线程: Servlet: package com.stono.servlet.synchronize; import javax.servlet.http.Htt ...

  2. JSP+JavaBean+Servlet工作原理实例…

    JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...

  3. JSP+servlet简单登录实例

    一个简单的jsp+servlet实例,实现简单的登录 转载▼ http://blog.sina.com.cn/s/blog_5c5bc9070100z7wb.html     开发环境myeclips ...

  4. Tomcat+Servlet登录页面实例

    概念   Tomcat server是一个免费的开放源码的Web 应用server,属于轻量级应用server,在中小型系统和并发訪问用户不是非常多的场合下被普遍使用,是开发和调试JSP 程序的首选. ...

  5. (详细)Eclips+jsp+servlet+mysql+登录实例+源代码

    欢迎任何形式的转载,但请务必注明出处. 该教程较全,从软件的安装以及相关的环境配置我都放置了相关教程的链接,读者可直接点击进入.自己写电商网站作业时查找了很多资料,但都不是很全,所以趁着寒假写了这份教 ...

  6. Javabean+servlet+JSP(html)实例应用

    大家都知道Javabean+servlet+JSP是最简单的MVC模式.的确,在一个小型的项目中,这个模式完全够用. 它优雅并且简洁.加上jQueryui的完美展示效果,让这个模式看起来非常合适.当然 ...

  7. Servlet程序开发--实例操作:MVC设计模式应用

    以前做过一个登录程序,是用JSP+JavaBean完成的,最大的问题,JSP文件内容太多了. 1. VO 2. DBC 3. DAO 3.1 impl 3.2 proxy 4. Factory 5. ...

  8. Servlet的HelloWorld实例

    以下内容引用自http://wiki.jikexueyuan.com/project/servlet/first-example.html: Servlets是Java类,服务于HTTP请求并实现了j ...

  9. Servlet学习(三)——实例:用户登录并记录登陆次数

    1.前提:在Mysql数据库下建立数据库web13,在web13下创建一张表user,插入几条数据如下: 2.创建HTML文件,命名为login,作为登录界面(以post方式提交) <!DOCT ...

随机推荐

  1. JDBC 学习笔记(四)—— 自定义JDBC框架+Apache—DBUtils框架+事务管理+操作多表

    本文目录:       1.自定义JDBC框架 ——数据库元数据:DataBaseMetaData        2.自定义JDBC框架 ——数据库元数据:DataBaseMetaData       ...

  2. cocos2d-x入门笔记(1)

    cocos2d-x的大致开发流程是,首先使用win32版进行代码编写并完成游戏,然后将代码迁移到对应的开发环境上进行交叉编译完成游戏打包,如iphone上是mac+xcode,android是ecli ...

  3. 【转】android如何浏览并选择图片 音频 视频

    转自:http://www.cnblogs.com/top5/archive/2012/03/06/2381986.html   这几天 在学习并开发android系统的图片浏览 音频 视频 的浏览 ...

  4. .NET操作JSON

    http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html JSON文件读入到内存中就是字符串,.NET操作JSON就是生成与 ...

  5. 2208: [Jsoi2010]连通数 - BZOJ

    Description Input 输入数据第一行是图顶点的数量,一个正整数N. 接下来N行,每行N个字符.第i行第j列的1表示顶点i到j有边,0则表示无边. Output 输出一行一个整数,表示该图 ...

  6. 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。

    // ConsoleApplication2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include "stdafx.h ...

  7. PHP读取xml之cdata讲解

    实例: xss.xml <?xml version="1.0" encoding="UTF-8"?><filters>    <f ...

  8. Unity3D脚本中文系列教程(七)

    http://dong2008hong.blog.163.com/blog/static/4696882720140311445677/?suggestedreading&wumii Unit ...

  9. 在MySQL中使用init-connect与binlog来实现用户操作追踪记录

    在MySQL中使用init-connect与binlog来实现用户操作追踪记录 分类: MySQL 前言: 测试环境莫名其妙有几条重要数据被删除了,由于在binlog里面只看到是公用账号删除的,无法查 ...

  10. Node.js 4.0.0:灵雀云和 OneAPM 的整合测试

    关于 Node.js 4.0.0 稳定版刚刚推出,备受期待,迫不及待地想用它写点东西:此外,要把 Demo 放到 Internet 上得有一个公网 IP ,看到灵雀云挺不错的而且提供域名解析,简直业界 ...