② View——视图层
用户档案管理jsp页面如下:
图6-3 用户档案管理页面图
在jsp页面上,将用户需要填写的数据项,包含在一表单中。
图6-4 用户档案管理表单图
注:其中的“用户ID”只是起到显示作用,用户不能对其进行修改。
当用户填写完表单,提交表单前,用正则表达式对用户填写的内容进行格式验证,若出错,则弹出提示框,取消提交,回到页面重新填写。例如,当输入格式错误的E-Mail时:
图6-5 e-mail格式出错图
若正确,则根据form标签中的action的值和web.xml中的配置,进入到相应的servlet中,进行数据处理。下面为web.xml中关于user的serlvet配置代码:
<servlet>
<servlet-name>user</servlet-name>
<servlet-class>net.sanxiau.servlet.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>user</servlet-name>
<url-pattern>/user</url-pattern>
</servlet-mapping>
处理结束后,相应页面上将显示符合用户输入条件的记录,如下图显示所有用户档案记录:
图6-6 用户档案记录图
若用户需要修改某个用户的档案信息,只需选中该用户ID。例如选中ID值为4的记录,并将其性别更改为“男”,页面显示为:
图6-7 用户档案修改显示图
此时,点击修改按钮,提示操作成功后,重新进入用户档案管理页面时,显示如下:
图6-8 用户档案修改成功后显示图
若用户需要删除某个用户的档案信息,则先选中某一记录,并点击删除按钮。例如删除ID值为4的记录成功后,页面显示如下:
图6-9 用户档案删除成功后显示图
③ Control——控制层
进入servlet后,先从url中,得到名为”fun”的参数的值,并根据此值,调用相应的处理方法(例:当为add时,调用增加方法)。在方法中,通过工厂类(MainFactory)中的静态方法,得到相应的DAO实现类,并调用实现类中相应的方法(增、删、改、查),而方法的参数则是从表单中得到。方法执行完毕后,根据返回值判断是否执行成功,并转发到不同的显示页面(成功页面或失败页面),显示给用户,下面是实现处理新增操作后返回指定页面的代码:
if (num == 1) {
request.getRequestDispatcher("common/success.jsp").forward(request, response); // 成功
} else {
request.getRequestDispatcher("common/failure.jsp"). forward(request,response); // 失败
}
6.2 信息交流
该模块是用AJAX和Servlet实现的一个无刷新,伪同步的简单的在线交流,目的是让同时浏览网页的访问者能进行即时的交流。以下将分别从客户端和服务器端两个方面,对实现此功能的部分代码作出说明。
6.2.1 客户端部分
Ajax中的核心为XMLHttpRequest对象,下面的javascript代码通过if.else.语句,根据不同的浏览器,创建了符合特定浏览器的XMLHttpRequest对象。
function createXMLHttpRequest() {
if(window.XMLHttpRequest) {
//Mozilla 浏览器
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>