java凯撒加密socket,Nonels’Blog

8f9ad282af3c975a4dc5c37a56af9195.gif

2008年10月16日

阅读全文

4f1150b881333f12a311ae9ef34da474.pngpackagefilter;

4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.pngimportjava.io.IOException;

4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.pngimportjavax.servlet.Filter;

4f1150b881333f12a311ae9ef34da474.pngimportjavax.servlet.FilterChain;

4f1150b881333f12a311ae9ef34da474.pngimportjavax.servlet.FilterConfig;

4f1150b881333f12a311ae9ef34da474.pngimportjavax.servlet.ServletException;

4f1150b881333f12a311ae9ef34da474.pngimportjavax.servlet.ServletRequest;

4f1150b881333f12a311ae9ef34da474.pngimportjavax.servlet.ServletResponse;

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gif/** *//**d18c02628675d0a2c816449d98bda930.png * jsp中文乱码的Filter过滤器

d18c02628675d0a2c816449d98bda930.png *@authornonels

d18c02628675d0a2c816449d98bda930.png *

8f1ba5b45633e9678d1db480c16cae3f.png*/4f1150b881333f12a311ae9ef34da474.png

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gifpublicclassCharacterEncodingFilterimplementsFilter9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.pngprotectedString encoding;//字符编码d18c02628675d0a2c816449d98bda930.pngprotectedbooleanignore;//是否忽略大小写97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicvoidinit(FilterConfig filterConfig)throwsServletException9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png        encoding=filterConfig.getInitParameter("encoding");

d18c02628675d0a2c816449d98bda930.png        String value=filterConfig.getInitParameter("ignore");

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifif(value==null)9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png            ignore=true;

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif        }elseif(value.equalsIgnoreCase("true"))9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png            ignore=true;

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif        }elseif(value.equalsIgnoreCase("yes"))9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png            ignore=true;

ecedf933ec37d714bd4c2545da43add2.png        }ecedf933ec37d714bd4c2545da43add2.png    }d18c02628675d0a2c816449d98bda930.png

d18c02628675d0a2c816449d98bda930.pngpublicvoiddoFilter(ServletRequest request, ServletResponse response,

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gif            FilterChain filterChain)throwsIOException, ServletException9b8a8a44dd1c74ae49c20a7cd451974e.png{

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifif(ignore==true||encoding !=null)9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png             request.setCharacterEncoding(encoding);

d18c02628675d0a2c816449d98bda930.png             filterChain.doFilter(request, response);

ecedf933ec37d714bd4c2545da43add2.png        }ecedf933ec37d714bd4c2545da43add2.png    }d18c02628675d0a2c816449d98bda930.png

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicvoiddestroy()9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png        encoding=null;

ecedf933ec37d714bd4c2545da43add2.png    }d18c02628675d0a2c816449d98bda930.png    

d18c02628675d0a2c816449d98bda930.png

8f1ba5b45633e9678d1db480c16cae3f.png}4f1150b881333f12a311ae9ef34da474.png

XML中的配置加上以下:

4f1150b881333f12a311ae9ef34da474.png      4f1150b881333f12a311ae9ef34da474.pngCharacterEncodingFilter4f1150b881333f12a311ae9ef34da474.pngfilter.CharacterEncodingFilter4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngignore4f1150b881333f12a311ae9ef34da474.pngtrue4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngencoding4f1150b881333f12a311ae9ef34da474.pngGBK4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.png4f1150b881333f12a311ae9ef34da474.pngCharacterEncodingFilter4f1150b881333f12a311ae9ef34da474.png/*4f1150b881333f12a311ae9ef34da474.png

阅读全文

8f9ad282af3c975a4dc5c37a56af9195.gif

2008年10月9日

阅读全文

posted @ 2008-10-09 12:50 nonels 阅读(20188) | 评论 (7) | 编辑 收藏

8f9ad282af3c975a4dc5c37a56af9195.gif

2008年9月28日

阅读全文

posted @ 2008-09-28 11:09 nonels 阅读(1643) | 评论 (5) | 编辑 收藏

阅读全文

8f9ad282af3c975a4dc5c37a56af9195.gif

2008年9月15日

阅读全文

阅读全文

8f9ad282af3c975a4dc5c37a56af9195.gif

2008年9月9日

阅读全文

8f9ad282af3c975a4dc5c37a56af9195.gif

2008年9月8日

阅读全文

8f9ad282af3c975a4dc5c37a56af9195.gif

2008年9月4日

阅读全文

阅读全文

1 importjavax.swing.JFrame;2 3 public classMainKaisa {4 5 /**6 *@paramnonles7 */8 public static voidmain(String[] args) {9 //实例化一个窗体10 KaisaFrame kaisaFrame= newKaisaFrame();11 kaisaFrame.setVisible(true);12 kaisaFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);13 14 }15 16 }

Kaisa.java

1 mport java.awt.event.ActionEvent;2 importjava.awt.event.ActionListener;3 importjavax.swing.*;4 5 public classKaisaFrameextendsJFrame {6 7 JLabel jlDackText= newJLabel();8 JButton btnBrightText= newJButton();9 JPasswordField jpf= newJPasswordField();10 JTextField jtf2= newJTextField();11 char[] buf;12 13 14 publicKaisaFrame() {15 this.setSize(300,200);//设置窗体大小16 this.setTitle("凯撒加密法");17 this.setResizable(false);18 19 jbInit();20 }21 22 private voidisLetter() {23 //判断输入的内容是否为字母24 buf=jpf.getPassword();25 for(charc:buf) {26 if(Character.isLetter(c)== false) {27 JOptionPane.showMessageDialog(this,"不能为非字符","Error", JOptionPane.ERROR_MESSAGE);28 jpf.setText("");29 jtf2.setText("");30 return;31 }else{32 makeBrightText();33 }34 }35 }36 37 private voidmakeBrightText() {38 //产生明文39 char[] arr= new char[buf.length];40 intindex=0,temp;41 for(charc:buf) {42 temp=c+3;//字母后移三位43 if( (temp>90 &&temp<97)||temp>122) {44 //若ASCII码在此区间则减去26(使字符XYZ,xyz循环到XAB,xab)45 temp=temp- 26;46 arr[index++]=(char)temp;47 }else{48 arr[index++]=(char)temp;49 }50 }51 52 String str= newString(arr);53 jtf2.setText(str);54 55 }56 57 private voidjbInit() {58 //设置窗体内容59 this.setLayout(null);60 jlDackText.setText("输入密文:");61 jlDackText.setBounds(30,20,80,30);62 btnBrightText.setText("生成明文:");63 btnBrightText.setBounds(30,90,100,30);64 jpf.setBounds(160,20,80,30);65 jpf.setEchoChar('*');66 jtf2.setBounds(160,90,80,30);67 jtf2.setEditable(false);68 69 this.add(jlDackText);70 this.add(jpf);71 this.add(btnBrightText);72 this.add(jtf2);73 74 btnBrightText.addActionListener(newActionListener(){75 76 @Override77 public voidactionPerformed(ActionEvent e) {78 isLetter();//判断输入的内容是否为字母79 }80 81 });82 }83 84 }85

现实图解:

往文本框中输入密文(只限字符),点击按钮,即生成相应密文。

7e865097fb4393871d0dbc81d18a49b4.png

若输入为非字符,则弹出错误框~

1b8fe5f9e4ee8a720e5591502a233c63.png

简单的一个程序,说明都不用了。。。

1 importjava.io.BufferedReader;2 importjava.io.FileWriter;3 importjava.io.IOException;4 importjava.io.InputStreamReader;5 importjava.io.PrintWriter;6 7 public classRailFence {8 9 public static voidmain(String[] args) {10 char[] buf;11 String str= newString("");12 StringBuffer sb1= newStringBuffer("");13 StringBuffer sb2= newStringBuffer("");14 15 BufferedReader in= newBufferedReader(newInputStreamReader(System.in));16 try{17 PrintWriter out= newPrintWriter(newFileWriter("d:""czl.txt"));18 while((str=in.readLine())!= null) {19 if(str.equalsIgnoreCase("exit"))break;//退出操作20 System.out.println("明文:"+str);//将输入的字符串打印到控制台21 out.println("============栅栏加密技术=============");22 out.println("明文:"+str);23 buf=str.toCharArray();//将输入的字符串转变为字符数组24 for(inti=0;i

posted @ 2008-09-04 15:48 nonels 阅读(1406) | 评论 (2) | 编辑 收藏

在成功安装JDK的前提下,安装tomcat6.0(假设安装路径为C:,一般选择FULL安装,4.0以上版本不用配置环境变量)系统变量中添加以下环境变量(假定你的j2sdk安装在c:"jdk1.6): JAVA_HOME=c:"jdk1.6。接着可以启动tomcat,在IE中访问,如果看到tomcat的欢迎页面的话说明安装成功了。

然后对tomcat进行配置:

第一步:建立自己的jsp app目录:

1.在webapps目录下新建一个目录,起名叫myapp; 2.myapp下新建一个目录WEB-INF,注意,目录名称是区分大小写的; 3.WEB-INF下新建一个文件web.xml,内容如下:

1 <?xml  version="1.0" encoding="ISO-8859-1"?>2 3 web-app4 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"5 "http://java.sun.com/dtd/web-app_2_3.dtd">6 7 8 My Web Application9 10 A application for test.11 12 

4.在myapp下新建一个测试的jsp页面,文件名为index.jsp,文件内容如下

1 2 

4 Now time is:5 
6 7 5.重启Tomcat6.打开浏览器,输入http://localhost:8080/myapp/index.jsp看到当前时间的话说明就成功了第二步:建立自己的Servlet:

写入你的第一个Servlet:

在你新建的Application myapp/WEB-INF/classes/test目录下新建HelloWorld.java

1 packagetest;2 3 importjava.io.*;4  importjavax.servlet.*;5  importjavax.servlet.http.*;6  public classHelloWorldextendsHttpServlet7 {8 public voiddoGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException9 {10 response.setContentType("text/html");11 PrintWriter out=response.getWriter();12 out.println("

");13 out.println("This is my first Servlet");14 out.println("");15 out.println("

Hello,World!

");16 out.println("");17 18 }19 }把Tomcat中lib里面的servlet-api.jar文件拷贝到C:"JDK"jre"lib"ext中,编译HelloWorld.javaServlet必须使用C:"Tomcat"webapps"myapp"WEB-INF这个目录下面的web.xml文件进行注册,用EditPlus打开这个web.xml文件,在添加下面这段程序:

1 packagetest;2 public classTestBean3 {4 privateString name=null;5 publicTestBean(String nameInit){6 this.name=nameInit;7 }8 public voidsetName(String newName){9 this.name=newName;10 }11 publicString getName(){12 return this.name;13 }14 }然后照样用javac TestBean.java来编译这个文件。2.然后在你新建的应用程序目录myapp下新建一个新的jsp文件:testBean.jsp

1 2 3 

4 Test Bean5 6 7 
8 11 Java Bean Test:12 The author's blog address is13 
14 15 确定各个文件的位置,如下

myapp"index.jspmyapp"testBean.jspmyapp"WEB-INF"web.xmlmyapp"WEB-INF"classes"test"HelloWorld.classmyapp"WEB-INF"classes"test"TestBean.class

Java Bean Test: The author's blog address isHttp://czl.cn

这样就完成了整个Tomcat下的jsp、servlet和javabean的配置。

第四步:配置虚拟目录

打开 Tomcat6.0"conf"server.xml 文件,在 和 之间加入

阅读全文

Powered by:

BlogJava

Copyright © nonels

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值