一个基于Java Web开发应用的教学案例设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一个基于JavaWeb开发应用的教学案例设计与实现
1软件项目的设计环节
1.1设计思路
以介绍Servlet、Web页面技术和JSP应用为理论依据,以软件实训网络管理平台—Lidasoft项目贯穿整个案例。

内容模块组织结构如表1所示。

1.2项目任务设计
Java Web开发主要由Servlet、Web页面技术和JSP应用三个方面组成,在完成的整个项目中要分别体现出这些技术的使用。

设计的项目任务描述如下:
(1)Servlet简介
Lidasoft是一个规范软件项目实训管理流程的校园服务系统。

校领导想了解该平台的普及和使用程度,项目组需要开发跟踪访问Lidasoft站点。

每个用户访问Lidasoft主页时,点击数加1,客户浏览器运行在不同机器上。

如果把点击计数的数据保存在客户端上,只能用来记录某个特定用户登录平台的次数,因此该数据必须保存在服务器端。

为了解决上述问题,需要使用编写Web服务器端程序—Java Servlet技术。

(2)Web页面设计
Lidasoft项目组准备开发一个Web站点,要进入软件项目实训管理主页面,必须首先从此Web站点上登录。

学生使用学号与口令进行平台登录。

包含确认和取消按钮。

当学生点击确认按钮时,显示当前登录的人数。

点击取消按钮时,删除输入的数据。

(3)JSP应用
需要创建一个应用来验证学生输入的学号与口令,即在学生输入信息单击确认后,验证输入数据不为空且与存放在数据库服务器中的学号与口令是否一致。

信息正确链接显示当前登录人数的页面,否则不跳转。

为了加速项目开发,需要同时实现验证数据不为空和查询数据库的功能。

可以使用服务器端JSP技术来解决同时构造静态(Web用户登录界面)和动态(验证
数据不为空、查询数据库)页面的问题。

2部分界面及功能的实现
2.1开发跟踪访问Lidasoft站点
客户端每次点击http://10.11.5.64:8000/lidasoft/jishu,即向服务器端发送了一个请求,通过调用Servlet的service()中的doPost()方法来实现计数变量count加1。

下面是点击数加1的Servlet服务器端子程序:
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class jishuServlet extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
//ServletConfig对象内容传递至超类
super.init(config);
}
// 定义计数变量跟踪访问Lidasoft站点
static int count;
//处理请求对象并用”响应”对象的方法将响应传回给客户机
public void doGet(HttpServletRequest r, HttpServletResponse s) throws ServletException, IOException
{
s.setContentType(“text/html”);
PrintWriter out=s.getWriter();
count++;
out.println(“<html>”);
out.println(“<head><title>HTTPServlet </title></head>”);
out.println(“<body>”);
out.println(“Now the Number is :” + String.valueOf(count) + “\n”);
out.println(“</body></html>”);
}
public void doPost(HttpServletRequest r, HttpServletResponse s) throws ServletException, IOException
{
s.set ContentType(“text/html”);
PrintWriter out=s.getWriter();
count++;
out.println(“<html>”);
out.println(“<head><title> HTTPServlet </title></head>”);
out.println(“<body>”);
out.println(“Now the Number is :” + String.valueOf(count) + “\n”);
out.println(“</body></html>”);
}
//提供相关Servlet的信息
public String getServletInfo()
{
return “HTTPServlet Information”;
}
public void destroy()
{}
}
2.2创建Web用户界面
用户登录界面是一个包含表单的HTML页面,当用户点击确认按钮时,名为jishu的Servlet将接收登录材料,并执行doPost()方法。

创建的Web用户界面效果如图1所示。

2.3创建基于JSP的动态Web页面
JSP是充满标准HTML代码的文本文件,其中加入了一些类似Java的代码,它向JavaBean描述需求的数据。

后者提供所需的Bean组件。

组件中定义相应属性,类及数据操作的方法。

以下是JavaBean查询数据库的子程序。

import java.io.*;
import java.sql.*;
public class loginBean
{
//声明Bean的私有属性,初值为空private String textf ield=“ “;
private String password=“ “;
//用来连接和查询数据库的类
Connection con = null;
Statement s = null;
ResultSet r = null;
//使用set与get方法访问Bean属性public void settextfield(String textfield) {
this.textfield=textfield;
}
public void setpassword(String password) {
this.password=password;
}
public String gettextfield()
{
return textfield;
}
public String getpassword()
{
return password;
}
public loginBean() throws ClassNotFoundException
{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
}
//查询数据库,验证数据正确性
public boolean AccountValidate()
{
booleanvalidate=false;
String passwordNo=““;
try
{
textfield=gettextfield();
password=getpassword();
con=DriverManager.getConnection(“jdbc:odbc:LidaSource”,”sa”,”“); String Query = “Select password_no from Login_inf where textfield_id=‘“+ textfield+”‘“ ;
s = con.createStatement();
r = s.executeQuery(Query);
//执行查询
while(r.next())
{
passwordNo = r.getString(1);
}
passwordNo=passwordNo.trim();
password=password.trim();
//检验外部输入值是否与passwordNo值相符,相同则为有效数据
if(passwordNo.equals(password))
{
validate = true;
}
}
catch(Exception e)
{
System.err.print(e);
}
return validate;
}
}
3结束语
Java Web开发应用的教学案例以完整的软件项目结合Java Web开发技术的方式分别介绍了Java的Web开发应用中所使用的服务器端技术。

内容涵盖Servlet 的生命周期,如何在J2EE服务器上部署Servlet,怎样从Html页面访问Servlet,怎样在表单中调用Servlet的方法,如何使用JavaBean从数据库中检索数据,如何使用JSP标签从内部调用JavaBean显示数据,以及怎样从JSP跳转至Servlet
页面中。

通过项目任务的指派,引导学生在操作步骤的指引下自主独立的完成实践任务,整合系统,然后再体会项目设计的思路和流程,从而掌握专业知识的要点。

参考文献
[1] Steven Haines, Stephen Potts. Java 2 Primer Plus中文版[M]. 北京:人民邮电出版,2003:271-368.
[2] NIIT. Enterprise Java Programming Part2(企业级JA V A的应用)[M]. 2001:13-42.
A Teaching case in Java Web programming
ZHANG Qin
(Department of Computer Science, Shanghai Lida Polytechnic Institute, Shanghai 201609,China)
Abstract: This paper introduces a design for a network management platform of the software project development., including some teaching case in Java Web programs, the development environment of the platform, system functions and so on..
Key words: software project, teaching case, software process design。

相关文档
最新文档