Integer类是int类型的封装类,直接调用静态方法parseInt()将request通道中的道德tishu的字符串转化为整数int;通过以下这句代码insert into cj(username,cj,sjbh) values ('\+\可以将cj表中插入数据。request.getSession().getAttribute(“username”)表示的是request通道调用getSession()方法得到HttpSession类的对象,再继续调用getAttribute(“username”)方法返回用户名的属性值;这个功能的核心代码块是。
<%
int tishu=Integer.parseInt(request.getParameter(\int fenzhi=Integer.parseInt(request.getParameter(\String tmp1; String tmp2; int i=0; int df=0;
for (i=1;i<=tishu;i++){ }
//out.print(df); String sql;
sql=\
values('\
connDbBean.executeUpdate(sql);
out.print(\交卷成功!!您本次成绩为\分');location.href='index.jsp';\%>
//out.print(request.getParameter(\tmp1=request.getParameter(\tmp2=request.getParameter(\if(tmp1.equals(tmp2)){ df=df+fenzhi; }
6.1.4 留言提交功能
留言提交是有问必答过程中必要的环节,也是完成用户和管理者之间沟通交流的必要工具,可以说起着桥梁的重要作用!针对这一环节采用了如下代码块实现留言,如图6-4所示。
29
图6-4 留言提交
request通道调用getParamter()方法,并传入用户的参数得到用户留言信息。sql语句是向数据库中插入cheng,xingbie,QQ,youxiang,dianhua,neirong等参数。这个功能的核心代码块是。
<%
String cheng=request.getParameter(\String xingbie=request.getParameter(\String QQ=request.getParameter(\
String youxiang=request.getParameter(\String dianhua=request.getParameter(\String neirong=request.getParameter(\
String sql=\
values('\ connDbBean.executeUpdate(sql);
out.print(\留言成功!!');location.href='lyblist.jsp';\ %>
6.2 网站后台管理
众所周知网站后台才是网站的核心区域,因为本区域承担着几乎一切重要信息的增删改查的操作,因为信息庞大,就选取其中一部分简单叙述。 6.2.1 登录后台
登陆后台可以采用超级管理员或者普通管理员的权限都可以进去,这里的超级管理员
30
只有一个,可以审核普通管理员的加入,我们暂时可以选择普通管理员(teacher Li)来进行操作,因为普通管理员承担的责任就可以认为是老师。如图6-5所示。
图6-5 后台普通管理员登陆
登录后跳转到后台主界面,可以看到信息量很丰富,主要是我们可以看到一切前台的数据信息,因为全部靠后台录入、更新等。 6.2.2 操作后台文件上传
在这个模块中可以说是最核心的,因为动态网页技术的核心就是可以实时地更新网站的内容,这样的话文件的上传和下载就很重要的了。下面演示的是操作上传一个图片,如果添加成功,在前台的资料下载区用户可以下载或者打开,如图6-6所示。
图6-6 后台文件的上传
通过如下代码,可以将我们常见的文件,图片,文档,视频等上传到指定位置供他人
31
分享。首先创建类SmartUpload的对象mySmartUpload,SmartUpload mySmartUpload = new SmartUpload();初始化上传,调用setAllowedFilesList(“jpg,Jpg,JPG,GIF,gif,png”)和upload()表示上传的类型和上传操作。这个功能的核心代码块是。
<%
String newFile1Name=null; String file_name=null;
SmartUpload mySmartUpload = new SmartUpload(); //初始化上传
mySmartUpload.initialize(pageContext); //只允许上载此类文件 try { }
catch (Exception e){ } try {
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0); if (myFile.isMissing()){
out.println(\必须选择图片!'); return;
//out.println(\上传格式错误!'); history.back(-1);\//return;
//mySmartUpload.setAllowedFilesList(\,GIF,gif,Gif,png\mySmartUpload.upload();
history.back(-1);\
} else {
int file_size = myFile.getSize(); //取得文件的大小 (单位是b) file_name=myFile.getFileName();
System.out.println(\文件大小:\文件名称:\ //if (file_size > 10*1024*1024) //{
//out.println(\上传图片大小应控制在10K~1M之
间!'); history.back(-1);\
//return;
//}
//else //{
newFile1Name=new Date().getTime()+file_name.substring(file_name.indexOf(\
32
%>
System.out.println(\新文件名称:\
}
String saveurl = request.getSession().getServletContext().getRealPath(\ saveurl = saveurl+\
myFile.saveAs(saveurl, mySmartUpload.SAVE_PHYSICAL);
//}
}
catch (Exception e){ e.toString(); }
6.3 开发中遇到的乱码问题及解决方案
开发初期,由于涉及的方面较多,各个工具的默认编码不同导致交互出现乱码。主要问题出现在UTF-8和GB2312这两种编码上,数据库默认设置的是GB2312编码,而Java文件是UTF-8编码,HTML文件是GB2312编码,系统编码十分混乱,导致从数据库读出的数据呈现出来是乱码。解决这类问题的思路就是统一编码,考虑网页的国际性和兼容性,统一选用了GB2312编码,因为毕业设计是单独的工作区,以前用的UTF-8国际模式现在为了方便开发,统一默认为GB2312编码,浏览器也改成GB2312显示。
6.4本章小结
本章选取了几个典型使JSP实现的模块做出详细讨论和研究,附加实现效果图,从各功能的实现过程来看,利用JSP开发Web应用能够从很好滴移植任何平台,开发速度快。因此,JSP技术是当前开发Web应用的一种较好的选择。
33