4. 密码加密
自从上次张三密码变复杂后, 再也没有被盗过号
但他觉得密码还是不够复杂, 于是又进行了二次加密
然后..他忘记二次加密后的密码了
小伙伴赶紧帮他找找
张三的加密方式是这样的:
对于每个字母和数字, 按字母表/数字顺序往后挪5位
(如果超过了 则从头开始, 比如'z'转换后变成'e', '9'转换后变成'4')
符号不变
如密码: AaZz09!!!
加密后: FfEe54!!!
设计一个程序, 输入加密前的密码 打印加密后的密码
(密码长度 <= 16)
样例输入: AaZz09!!!
样例输出: FfEe54!!!
package package01;
import java.util.Scanner;
/**
* @author abner
* @version 1.0
*/
public class practise7_4 {
public static void main(String[] args) {
Scanner sc = null;
sc = new Scanner(System.in);
String psw = sc.nextLine().trim();
char[] ch = psw.toCharArray();
char temp = ' ';
for(int i = 0; i < ch.length; i++){
temp = ch[i];
if (65 <= temp && temp <= 90){ //大写字母 A-Z:65-90,
ch[i] = temp > 85 ? temp -= 21 : (temp += 5);
}else if(97 <= temp && temp <= 122) { //小写字母 a-z:97-122,
ch[i] = temp > 117 ? temp -= 21 : (temp += 5);
}else if (48 <= temp && temp <= 57){ //数字 0-9:48-57
ch[i] = temp > 52 ? temp -= 5 : (temp += 5);
}else {
ch[i] = ch[i]; //符号不变
}
}
String result = String.valueOf(ch); //转为字符串
System.out.println(result);
}
}
doPost() 方法
POST 请求来自于一个特别指定了 METHOD 为 POST 的 HTML 表单,它由 doPost() 方法处理。
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Servlet 代码 }
destroy() 方法
destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。
在调用 destroy() 方法之后,servlet 对象被标记为垃圾回收。destroy 方法定义如下所示:
public void destroy() { // 终止化代码... }
架构图
下图显示了一个典型的 Servlet 生命周期方案。
- 第一个到达服务器的 HTTP 请求被委派到 Servlet 容器。
- Servlet 容器在调用 service() 方法之前加载 Servlet。
- 然后 Servlet 容器处理由多个线程产生的多个请求,每个线程执行一个单一的 Servlet 实例的 service() 方法。