南昌大学软件学院 java web大作业 实验报告
? 辅助工具包(实现用户密码的加密和时间的计算转换问题)
Day.java
/*
* 换算时间
* 计算两个日期之间相差的天数
* 计算一个日期在n天之后的日期字符串 */
package com.wk.util;
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;
public class Day {
//传入两个时间字符串,计算其中相差的天数
public int getlaterday(String d1,String d2) throws ParseException{
Date a = new SimpleDateFormat(\Date b = new SimpleDateFormat(\//获取相减后天数
long day = (a.getTime()-b.getTime())/(24*60*60*1000);
System.out.println(day+\ return (int) day; }
//获取两个月后时间字符串 public String getdate(){ SimpleDateFormat formatDate = new SimpleDateFormat(\
//字符串转换 Calendar c = Calendar.getInstance(); //new Date().getTime();这个是获得当前电脑的时间,你也可以换成一个随意的时间 c.setTimeInMillis(new Date().getTime()); c.add(Calendar.DATE, 60);//天后的日期 Date date= new Date(c.getTimeInMillis()); //将c转换成Date System.out.println(\ return formatDate.format(date); } //获取当前的时间
16 / 27
南昌大学软件学院 java web大作业 实验报告
}
public String getnowdate(){ Date dt=new Date();
SimpleDateFormat matter1=new SimpleDateFormat(\ System.out.println(matter1.format(dt)); return matter1.format(dt); }
EncryptAndDecrypt.java
package com.wk.util;
public class EncryptAndDecrypt { /**
* 加密String明文输入,String密文输出 *
* @param * @return */ public String encrypt(String sourceString){
char [] p = \图书管理\int n = p.length;
char [] c = sourceString.toCharArray(); int m = c.length;
for(int k = 0;k return new String (c);//返回密文 } /** * 输入加密后的String,返回原本的String * * @param * @return */ public String decrypt(String sourceString){ char [] p = \图书管理\ int n = p.length; 17 / 27 南昌大学软件学院 java web大作业 实验报告 } } char [] c = sourceString.toCharArray(); int m = c.length; for(int k = 0;k return new String (c);//返回明文 3.4 出现的问题及解决 3.4.1向数据库中插入数据出现乱码以及界面显示有中文乱码问题: 问题描述:当需要将数据插入数据库时,会发现插入的数据有乱码。在界面的表单进行数据输入时,传出传入的中文数据也会出现乱码。 1、JSP显示中文乱码的问题,一般都是没有设置页面编码,注意添加以下这样一段代码 <%@ page pageEncoding=”UTF-8”%> <%@ page language=\ \指定了当前jsp文件存储使用的编码方式,“contentType”用来指定响应头消息中的\ 当服务端的响应头消息中没有指定charset时,客户端会依据上面代码中的charset指定的编码方式解码页面。 2、从表单获取的数据有中文乱码,在Struts里面,一般都使用过滤器进行数据的过滤,保证数据的编码格式与你自己页面设置的一致。关键代码如下: public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2) throws IOException, ServletException { // TODO Auto-generated method stub //这里设置接受编码 arg0.setCharacterEncoding(\ //继续让它前进,这句话必须要有 arg2.doFilter(arg0, arg1); } 值得一提的是,arg0.doFilter(arg0,arg1);这句话一定要有,不然过滤器不会向前执行,会停止不前,这样程序就没法运行了! 18 / 27 南昌大学软件学院 java web大作业 实验报告 3、读取数据时,在Servlet中添加request.setCharacterEncoding(\可以很好地解决从JSP页面接受中文参数乱码。 3.4.2弹出提示框问题 问题描述:由于对Struts还不是完全的熟悉,对于其该怎样使用弹出框还是有点困扰,其不能再action里弹出一个弹出框后再进行return mapping 的操作,这样写并不会有提示框,而是直接执行了return mapping语句。 解决方法:使用servlet和jsp结合来弹出提示框,即在servlet里给jsp传递一个参数,然后在jsp里进行该参数的判断,然后根据判断结果看是否弹出提示框,因为在jsp里可以直接写js代码,这样弹出框会方便很多,只要用alert(“我是弹出框!”);这一句就可以了。 4. 系统界面 4.1 进入系统界面 (登录界面) 4.2 管理员模块界面: 19 / 27 南昌大学软件学院 java web大作业 实验报告 4.3 添加图书界面: 4.4 罚金设置界面: 4.5 用户管理界面: 20 / 27