implements Serializable
{
public Infoback()
{
}
public Infoback(java.lang.Integer id)
{
super(id);
}
}
在本系统的业务逻辑层中,主要定义了一个用于连接数据库的Bean体.并将其编译后生成的类保存在项目目录下WEB-INF的子目录classes的相应的包中,本项目的相对路径为: WEB-INF\classes\com\chjx.其主要代码如下:
String DBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String ConnStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=chjx";
String DBuser="sa";
String DBpsw="";
public
{
try{
Class.forName(DBDriver);
}catch(java.lang.ClassNotFoundException Conn_e)
{
System.err.println(Conn_e);
}
}
表4.1是沈阳长红机械有限公司网站中Action映射表.该映射决定了Action与其他Web组件之间的关系.作为前后台之间的桥梁,本表中指明了每个Action的入口(即调用Action的组件)及出口(即请求转发的目标组件).
Action |
入口 |
出口 |
Rerr |
Register.jsp |
RegErr.jsp |
Rok |
Register.jsp |
RegOk.jsp |
Nosame |
Index.jsp |
LogErr.jsp |
Same |
Index.jsp |
LogOk.jsp |
Adm |
Index.jsp |
Main.jsp |
Jok |
Job.jsp |
jobOk.jsp |
Jerr |
Job.jsp |
Joberr.jsp |
Inferr |
Infoback.jsp |
Inferr.jsp |
infOk |
Infoback.jsp |
infOk.jsp |
Cok |
Comeback.jsp |
Comebackok.jsp |
Cerr |
Comeback.jsp |
Comebackerr.jsp |
Mok |
Modify.jsp |
Modok.jsp |
Mno |
Modify.jsp |
Moderr.jsp |
Addok |
Add.jsp |
Addok.jsp |
表 4.1 Action 映射表
为了检测用户对本网站的满意程度,设置了投票系统,在用户选择了相应的选项后,将更新对应的数据库的列,再到显示投票结果的列取出相应的值.但java中默认保留小数点后8位,所以要调用java.text包中的DecimalFormat方法,将投票的百分比格式化为小数点后保留两位:
DecimalFormat df1= new DecimalFormat("########");
由于浏览器中的参数传递是按字节传送,因此英文和数字不会有任何的问题,而中文汉字则由两个字节组成.为了解决这个问题,使用了下面的两种方法:
①<%request.setCharacterEncoding(“gb2312”);%>
②request.getParameter("Password").getBytes("ISO-8849-1"),"GB2312");
在SQL Server2000的数据库中可以存放任何格式的图片,但是要将其转换为二进制的数据存入数据库,在调用时再将二进制数据转换为图片,这样虽然便于管理,但是在当前国内的网速来看,这样的方法是在是不可取.因此本系统的图片均是存放的相对路径,将图片放在系统根目录下的image文件夹中,按类分好,然后将其相对路径存入数据库的对应列中.这样可以大大提高网页浏览的速度.
本系统中,所有对数据库的操作都由Hibernate来完成,因此用到了大量的HQL语言.HQL是Hibernate设计的一套完整而实用高效的查询语言,它通过面向对象的语句结构实现了和SQL语言类似的功能.如果向表里插入一条数据的话,直接调用save()方法即可,但如果要使用查询功能的话,我按照一般的SQL语句的方法:from 表名 where 条件,却总是找不到预期的数据,后来看书中发现,from后跟的是表对应映射的类文件名,而非表名,比如招聘表为invite,它对应的类为Invite.java,所以在from后要根Invite而不是invite.
将项目发布到互联网上后,有些用户不是点击超链接打开网站的某个页面,而是在地址栏中直接写,而后进入,试图避开身份验证,处于对安全性的考虑,本项目在用户登陆后才能进入的页面中,加入了如下的一行判断,如果用户非法进入,则看到的将是一片空白页.
String name=(String)session.getAttribute(“name”);
If(name==null){……..}
<< 上一页 [11] [12] [13] [14] 下一页