




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
连接数据库的方式:conn=DriverManager.getConnection(jdbc.mysql:/localhost:3309/mydb,root,root);错误conn=DriverManager.getConnection(jdbc:mysql:/localhost:3309/mydb,root,root);错误conn=DriverManager.getConnection(jdbc:mysql:/localhost:3309/mydb,root,root);正确写servlet的doGet()方法的时候:Response生成的登录文件login中的method配置为post导致下一次请求在doPost()的空方法内执行;连接数据库的时候要启动数据库,不然连接不上;Servlet中文输出问题:(不用fliter情况下)以下是程序package mypack;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloWorldExample1 extends HttpServlet public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=GBK); / 第一种情况 PrintWriter out = response.getWriter(); out.println(-第一种情况输出中文正常-+); /第二种情况 ServletOutputStream out = response.getOutputStream(); out.println(-第二种情况输出中文报错但输出英文正常-+); 报错如下:type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionjava.io.CharConversionException: Not an ISO 8859-1 character: 第javax.servlet.ServletOutputStream.print(ServletOutputStream.java:89)javax.servlet.ServletOutputStream.println(ServletOutputStream.java:242)mypack.HelloWorldExample1.doGet(HelloWorldExample1.java:43)javax.servlet.http.HttpServlet.service(HttpServlet.java:690)javax.servlet.http.HttpServlet.service(HttpServlet.java:803)filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)beans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:196)请问这是什么原因,为什么PrintWriter 输出中文就正常,但是ServletOutputStream就会发生错误呢,他们之间有什么区别吗?我自己做出的正确方式是response.setContentType(text/html;charset=utf-8);PrintWriter out=response.getWriter();这两句结合起来用;response.setCharacterEncoding(utf-8);PrintWriter out=response.getWriter();输出的也是乱码,和原来的乱码不一样,原因以后再研究费玛大定理:xn+yn=znJava中使用正则表达式校验字符串Java中使用正则表达式校验字符串正则表达式是某一位伟大的数学家发明的,现在已经形成了一个ISO标准,这个标准和编程语言没有关系。至于具体谁发明的,怎么发明的,我也忘记了:)。正则表达式简单理解就是用来匹配字符串,看看所给字符串是否与正则表达式匹配,通过匹配关系,可以做很多事情,比如搜索引擎、替换、校验、分割等等。但最基本的还是用来校验匹配关系。 Java SE中早已实现了正则表达式的引擎,并且有着广泛的应用。参考JDK API文档,Java的正则表达式API集中在java.util.regex包里面,其下有两个核心类:软件包 java.util.regex用于匹配字符序列与正则表达式指定模式的类。接口摘要MatchResult 匹配操作的结果。类摘要Matcher 通过解释 Pattern 对 字符序列 执行匹配操作的引擎。Pattern 正则表达式的编译表示形式。异常摘要PatternSyntaxException 抛出未经检查的异常,表明正则表达式模式中的语法错误。具体功能很多,用法也很灵活,现在给出一个例子,用来校验一个字符串:这个字符串必须符合如下格式:1、第一个字母为R,后跟两个数字,然后是一个下划线,后面再跟两个字母,两个数字;还有可以跟一个下划线带两个数字。2、十一个数字。3、年度:四个数字,首位必须为1或者2。4、月份:0112以上四个部分之间用横杠连接。例如,一下是格式良好的字符串R05_QD01-34010000000-2007-12R23_QD21_02-34010000000-2007-01下面给出个例子看看:importjava.util.regex.Pattern;importjava.util.regex.Matcher;/* Created by IntelliJ IDEA.* File: RegExDemo.java* User: leizhimin* Date: 2008-3-10 15:55:24*/publicclassRegExDemo privatestaticString regEx1 =Rd2_A-Z2d2(_d2)?-d11-1|2d3-01-9;privatestaticString regEx2 =Rd2_A-Z2d2(_d2)?-d11-1|2d3-1012;privatestaticString regEx3 =Rd2_A-Z2d2(_d2)?-d11-1|2d3-NABCXQD;/* * 验证报表代码是否符合编码规则 * * param rptCode 报表代码 * return 验证结果,验证通过返回true,失败返回false */publicstaticbooleanisRegularRptCode(String rptCode) Pattern p1 = Ppile(regEx1);Pattern p2 = Ppile(regEx2);Pattern p3 = Ppile(regEx3);Matcher m1 = p1.matcher(rptCode);Matcher m2 = p2.matcher(rptCode);Matcher m3 = p3.matcher(rptCode);booleanrs1 = m1.matches();booleanrs2 = m2.matches();booleanrs3 = m3.matches();returnrs1 | rs2 | rs3;publicstaticvoidmain(String args) String s1 =R05_QD01-34010000000-2007-12;booleanflag1 = isRegularRptCode(s1);System.out.println(字符串 + s1 + 验证+ (flag1 ?成功!:失败!);String s2 =R23_QD21_02-34010000000-2007-01;booleanflag2 = isRegularRptCode(s2);System.out.println(字符串 + s2 + 验证+ (flag2 ?成功!:失败!);运行结果:字符串 R05_QD01-34010000000-2007-12 验证成功!字符串 R23_QD21_02-34010000000-2007-01 验证成功!Process finished with exit code 0有关正则表达式的用法很简单,其实最关键的是要能写出所需要的正则表达式。有关语法可以参考Java API的java.util.regex.Pattern类。另外,我在附件中给出了网上找到一个正则表达式文档,很不错,一起放上来。下面是另外一个API测试例子:importjava.util.regex.Matcher;importjava.util.regex.Pattern;/* Created by IntelliJ IDEA.* author leizhimin 2007-6-18 16:00:49*/publicclassTestPattern publicstaticvoidmain(String args) test1();test2();test3();publicstaticvoidtest1() /创建正则表达式的模式对象Pattern p = Ppile(a*b);/零次或多次a,并跟着b/通过模式对象创建一个匹配对象Matcher m1 = p.matcher(aaaaabxyzabt);Matcher m2 = p.matcher(aaaaab);/尝试将整个区域与模式匹配。当且仅当整个区域序列匹配此匹配器的模式时才返回 true。booleanb11 = m1.matches();booleanb12 = m2.matches();System.out.println(b11 +t+ b12);/编译给定正则表达式并尝试将给定输入与其匹配。booleanb21 = Pattern.matches(a*b,aaaaabxyzabt);booleanb22 = Pattern.matches(a*b,aaaaab);System.out.println(b21 +t+ b22);System.out.println(p.flags();/* * 进行大小写忽略和多行模式测试 */publicstaticvoidtest2() Pattern p1 = Ppile(a*b, Pattern.CASE_INSENSITIVE);Pattern p2 = Ppile(a*b, Pattern.MULTILINE);Matcher m11 = p1.matcher(aaaaaBABzAbt);Matcher m12 = p1.matcher(Ab);Matcher m21 = p2.matcher(an+b);Matcher m22 = p2.matcher(ab);booleanb11 = m11.matches();booleanb12 = m12.matches();System.out.println(b11 +t+ b12);booleanb21 = m21.matches();booleanb22 = m22.matches();System.out.println(b21 +t+ b22);System.out.println(p1.flags();/返回此模式的匹配标志。System.out.println(p1.pattern();/返回在其中编译过此模式的正则表达式。System.out.println(Pattern.quote(aaaaa);/返回指定 String 的字面值模式 String。String arr1 = p1.split(xabyayAbt);/围绕此模式的匹配拆分给定输入序列。for(String s : arr1) System.out.println(s);String arr2 = p1.split(xabyayAbt, 2);/围绕此模式的匹配拆分给定输入序列。for(String s : arr2) System.out.println(s);System.out.println(p1.toString();/返回此模式的字符串表示形式。publicstaticvoidtest3() Pattern p = Ppile(cat);Matcher m = p.matcher(cat two cats in the yard);System.out.println(m.groupCount();System.out.println(m.matches();System.out.println(m.find();System.out.println(m.find(8);StringBuffer sb =newStringBuffer();while(m.find() m.appendReplacement(sb,dog);m.appendTail(sb);System.out.println(sb.toString();System.out.println(m.replaceAll(person);System.out.println(m.replaceFirst(person);while(m.find() System.out.println(m.group();本文出自 “熔 岩” 博客,转载请与作者联系!正则表达式:email和数字,字母,下划线还有汉字的正则表达式博客分类: 正则表达式正则表达式.net自己总结的正则表达式:绝对正确的,本人已经验证通过了。Java代码1. 1.只有字母、数字和下划线且不能以下划线开头和结尾的正则表达式:(?!_)(?!.*?_$)a-zA-Z0-9_+$2. 只有字母和数字的:a-zA-Z0-9_+$3. 2.至少一个汉字、数字、字母、下划线:a-zA-Z0-9_u4e00-u9fa5+4. 3.至少一个汉字的正则表达式:u4e00-u9fa55. 4.最多10个汉字:ValidationExpression=u4e00-u9fa50,106. 5.只含有汉字、数字、字母、下划线不能以下划线开头和结尾:(?!_)(?!.*?_$)a-zA-Z0-9_u4e00-u9fa5+$7. 解释:8. 与字符串开始的地方匹配9. (?!_)不能以_开头10. (?!.*?_$)不能以_结尾11. a-zA-Z0-9_u4e00-u9fa5+至少一个汉字、数字、字母、下划线12. $与字符串结束的地方匹配13. 14. 6.email正则表达式:两种方式都可以15. (1)w+(-+.w+)*w+(-.w+)*.w+(-.w+)*16. (2)_A-Za-z0-9-+(._A-Za-z0-9-+)*A-Za-z0-9-+(.A-Za-z0-9-+)*(.A-Za-z2,)1$)下面是转载的(但我验证了下怎么没有成功?又期待性):Java代码1. 完美E-Mail正则表达式:2. 国际域名格式如下:3. 域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成,但开头及结尾均不能含有“-”,“-”不能连续出现。域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。4. 5. 6. /a-z(a-z0-9*-_?a-z0-9+)*(a-z0-9*-_?a-z0-9+)+.a-z2,3(.a-z2)?$/i;7. 8. /内容/i构成一个不区分大小写的正则表达式;9. 匹配开始10. $匹配结束11. a-zE-Mail前缀必需是一个英文字母开头12. 13. (a-z0-9*-_?a-z0-9+)*和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a_aa不匹配,如果是空字符,也是匹配的,*表示0个或者多个。14. *表示0个或多个前面的字符.15. a-z0-9*匹配0个或多个英文字母或者数字16. -_?匹配0个或1“-”,因为“-”不能连续出现17. a-z0-9+匹配1个或多个英文字母或者数字,因为“-”不能做为结尾18. 19. 必需有个有20. (a-z0-9*-_?a-z0-9+)+见上面(a-z0-9*-_?a-z0-9+)*解释,但是不能为空,+表示一个或者为多个。21. .将特殊字符(.)当成普通字符22. a-z2,3匹配2个至3个英文字母,一般为com或者net等.23. (.a-z2)?匹配0个或者1个.a-z2(比如.cn等)我不知道一般.最后部份是不是都是两位的,如果不是请修改2为起始字数,结束字数下面也是转载的:Java代码1. 1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:2. (?!_)(?!.*?_$)a-zA-Z0-9_u4e00-u9fa5+$其中:3. 与字符串开始的地方匹配4. (?!_)不能以_开头5. (?!.*?_$)不能以_结尾6. a-zA-Z0-9_u4e00-u9fa5+至少一个汉字、数字、字母、下划线7. $与字符串结束的地方匹配8. 9. 放在程序里前面加,否则需要进行转义(?!_)(?!.*?_$)a-zA-Z0-9_u4e00-u9fa5+$10. (或者:(?!_)w*(?34555#531. 32. u4E00-u9FA50-9a-zA-Z_eiieng_89_-eiieng_89_33. _;eiieng_88&*9_-_;eiieng_88&*9_34. _;eiieng_88_&*9_-_;eiieng_88_&*9_35. 36. publicboolRegexName(stringstr)37. 38. boolflag=Regex.IsMatch(str,a-zA-Z0-9_u4e00-u9fa5+$);39. returnflag;40. 41. 42. Regexreg=newRegex(a-zA-Z_0-9+$);43. if(reg.IsMatch(s)44. 45. 符合规则46. 47. else48. 49. 存在非法字符50. 分享到:删除之前弹出的确认框|java时间操作函数汇总 17:51 评论/ 浏览 (1 / 2396) 相关推荐评论登录界面设计当中,当校验不成功后,用于保存用户输入的方法为什么servlet里面用PrintWriter输出table之后在网页上得不得table的效果服务器存储图片,赋值的位置标志符的方法GUID;XMLUBB文件上传: Servlet中的代码boolean isMultipart = ServletFileUpload.isMultipartContent(request);if(isMultipart)ServletFileUpload upload = new ServletFileUpload();/parse the requesttry FileItemIterator iter =up
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 饮酒其五:田园诗鉴赏与创作教案
- 高速公路合流区智能网联车协同汇入控制方法
- 六年级写景作文秋天其实很美600字(10篇)
- 企业违规对慈善捐赠的影响研究-制度环境、所有权性质与企业生命周期的调节作用
- 内河船舶LNG供气系统建造过程质量管控研究
- 童话中的奇幻世界我的梦境作文7篇
- 有机化无水硫酸钙晶须-生物油改性沥青及其混合料性能研究
- 水飞蓟籽粕蛋白的提取工艺、多肽制备及抗氧化活性研究
- 我与家人的幸福时光写人作文(8篇)
- 月光下的回忆故事呈现(12篇)
- 人工智能对人力资源管理的影响与转型
- 2025年云南禄劝国有资本投资开发集团有限公司招聘笔试参考题库附带答案详解
- (2025春)部编版七年级语文下册全册教案 (新版本)
- 2024年12月广东广州市白云区人民武装部公开招聘征兵辅助员2人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 红色牡丹江知到智慧树章节测试课后答案2024年秋牡丹江师范学院
- 机房施工安全培训
- 房颤临床指南
- 生物活性营养土项目可行性研究报告模板范文(立项备案项目申请)
- 2025年度危化品运输合同协议带事故应急预案及责任划分3篇
- 科技安全课件
- 大学生创新创业思维与实践知到智慧树章节测试课后答案2024年秋山东科技大学
评论
0/150
提交评论