页面无刷新技术
页面上使用用到了Ajax的JessionRPC组件实现动态增加下拉菜单的节点和页面上的无刷新技术。JSON-RPC-Java是一个用Java来实现动态JSON-RPC的框架。利用它内置的一个轻量级 JSON-RPC java script 客户端,可以透明地在客户端java script中调用服务器端的Java代码
图4.2 动态菜单图
JSON-RPC-Java可运行在Servlet容器中,如Tomcat,也可以运行在JBoss与其他JavaEE应用服务器中。因此可以在一个基于java script与DHTML的Web应用程序中利用它来直接调用普通Java方法与EJB中。
使用方法:
1.将下载的jsonrpc.js导入到WebRoot的某个位置
2.将下载的jsonrpc.jar导入到WEB-INF/lib下
3.在web.xml中加入如下代码:
<servlet>
<servlet-name>
JSONRPCServlet
</servlet-name>
<servlet-class>
com.metaparadigm.jsonrpc.JSONRPCServlet
</servlet-class>
</servlet>
<servlet>
<servlet-mapping>
<servlet-name>
JSONRPCServlet
</servlet-name>
<url-pattern>/JSON-RPC</url-pattern>
</servlet-mapping>
页面详细设计及代码实现
登录页面的实现
用户登录页面: 主要用于用户的登录。当用户输入用户名和密码正确后,才能进入个人信息管理中。用到得技术:MD5加密;JAVAMAIL发邮件;Cookie;
页面布局如下图:
图5.1 360高校管家登陆界面
注册用户最担心的就是账户安全,程序中用MD5加密算法使得用户的秘密安全,难以窃取。
Md5 aMD5 = new Md5();
String password=aMD5.getMD5(request.getParameter("pwd"));//将请求中获得的密码用getMD5方法,变成加密的字符。
password=password.toLowerCase();//讲密码全转化为小写
易上学用户搜索页面的实现
图5.2 易上学搜索页面
搜索结果显示,如下图:
图5.3 搜索结果列表显示
1、先获得用户在搜索栏输入的搜索词。假设str=’搜索’为用户输入的字符。
2、String sn="";
if(str.length()>0){
for(int a=0;a<str.length();a++){
if(a==str.length()-1){
sn += str.charAt(a);
}else{
sn += str.charAt(a)+"%";
}
}
}
str=sn;
通过巧妙的循环之后,str就变成了 搜%索,实现拆字搜索,使得搜索范围更大
新闻信息管理
图5-4 新闻信息管理界面
说明:帮助后台编辑能够方便的管理咨询,可以按标题搜索,按关键词搜索,按时间搜索。
通过Hibernate可以方便的实现对文章的增删改查。然后将结果也通过分页现在出来。
分页的实现:新建一个pageResult类,分别有以下属性:
private List list = new ArrayList(); //查询结果
private int pageNo = 1; //实际页号
private int pageSize = 8; //每页记录数
private int recTotal = 0; //总记录数
分页算法:
PageResult pageResult = new PageResult();
int pageNo = pageResult.getPageNo();// 默认实际页数是1
String pageNum = request.getParameter("pageIndex");// 获得当前的页数
if (pageNum != null) {
pageNo = Integer.parseInt(pageNum);
pageResult.setPageNo(pageNo);
}
pageResult.setPageSize(8); //设置每条显示8
int pageSize = pageResult.getPageSize();// 默认每页显示的条数是8
List<TbNews> list2 = dao.browse1(); // 查询所有记录,获得记录总数
pageResult.setRecTotal(list2.size()); // 传值,传入记录总数
List<TbNews> list = dao.fenye(pageSize, pageNo);
论坛模块
图5.5 360论坛界面
图片管理
图5.6 学校图片管理界面
说明:可以帮助后台编辑方便的管理图片数据,可以增加,修改,删除和预览图片
资料下载
图5.7 资料下载页面
用到了SmartUpload包,实现上传下载功能
说明:
jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点:
1、使用简单。在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。
2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。
4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。
5、能将文件上传到数据库中,也能将数据库中的数据下载下来。这种功能针对的是MYSQL数据库,因为不具有通用性,所以本文不准备举例介绍这种用法。
jspSmartUpload组件可以从www.jspsmart.com网站上自由下载,压缩包的名字是jspSmartUpload.zip。下载后,用WinZip或WinRAR将其解压到Tomcat的webapps目录下(本文以Tomcat服务器为例进行介绍)。解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用。因为Tomcat对文件名大小写敏感,它要求Web应用程序相关的类所在目录为WEB-INF,且必须是大写。接着重新启动Tomcat,这样就可以在JSP文件中使用jspSmartUpload组件了。
注意,按上述方法安装后,只有webapps/jspsmartupload目录下的程序可以使用jspSmartUpload组件,如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作:
1、进入命令行状态,将目录切换到Tomcat的webapps/jspsmart
upload/WEB-INF目录下。
2、运行JAR打包命令:jar cvf jspSmartUpload.jar com
(也可以打开资源管理器,切换到当前目录,用WinZip将com目录下的所、有文件压缩成jspSmartUpload.zip,然后将jspSmartUpload.zip换名为jspSmartUpload.jar文件即可。)
(1)新建个SmartUpload对象,并对其初始化
JspFactory _jspxFactory = JspFactory.getDefaultFactory();
SmartUpload su = new SmartUpload();
PageContext pageContext = _jspxFactory.getPageContext(this,
request, response, null, true, 8192, true);
su.initialize(pageContext);// 初始化
基于JSP的360教育在线网站(四)由毕业论文网(www.huoyuandh.com)会员上传。