说到举一个应用实例。我想到上学期间一直贯彻在各种专业课的管理系统,特别是学生管理系统,用C语言数据结构数据库java都做过,不过用jsp更凸显了前后端的思路。
学生信息管理系统
项目要求
制作一个学生信息管理系统,要求用jsp+javabean+servlet进行java web 的开发。
学生信息管理:包括学生信息查询、学生信息添加、学生信息修改、学生信息删除。主要是学生的一些信息可以增删改查,然后每一步操作都有把信息存入数据库中,最重要的是显示功能,主要使用
查询、增加、删除、修改等功能实现,以及利用bean进行数据库连接,利用servet进行控制等。
实例分析
当时水平有限,只能照葫芦画瓢,完成这个简单的管理系统。回看这一个小小的项目,感觉还有很多可以改进的地方。
我感觉这个前端的内容如果考虑要做一个学生信息管理系统,至少得有个登录页面,然后这个ui设计也是没有的,就是配个颜色画几个框框,数据存在本地的mysql,也没有什么高端的操作。 我觉得可以搞一个学生登录和管理员登录,然后学生功能是上传个人信息,可以删除修改个人信息。管理员就是全局的增删改查统计啥的。封装继续保留,前端页面需要精进一下吧。
主要用到的jsp相关内容
JSP页面中的服务器端代码包括:
- JSP脚本
- JSP指令
- JSP标记
- 这些代码需要符合JSP语法的要求。
用到了一些内置对象,主要是:
- request封装了客户端的请求信息,例如包含了通过GET/POST方式传递的参数等信息
- response封装了客户端响应信息,例如包含了服务端发送到客户端的响应内容等信息
- Pagecontext封装了当前页面的属性信息
- session 封装了当前请求的会话信息
- out向客户端输出信息
- pageJsp页面类的实例,即Jsp页面本身被编译后会生成一个名为page的实例对象
- exception封装异常信息
JSP页面间的流程控制
超链接方法
<a href="userRegister.jsp">用户注册</a><br>表单提交方法
<form action="userVeriRegister.jsp" method="post">页面重定向方法
response.sendRedirect("index.jsp");请求转发方法
<jsp:forward page="index.jsp"> request.getRequestDispatcher("index.jsp").forward(request,reponse);
JSP页面间的数据传递
表单传参
HTML的
<form>标记用于实现供用户输入的HTML表单,可以将这些表单中的输入内容提交给服务器端,实现用户和服务器端程序之间的交互。URL传参
URL传参,是指以
URL? name1=value1& name2=value2的形式直接在URL后面加参数。
<jsp:param>标记传参作用域传参
JDBC技术
JDBC是Java数据库连接的简称; 由一组用Java语言编写的类和接口组成,位于java.sql包中; 提供了一种标准的应用程序设计接口(API)。
JavaBean
是使用Java语言开发的一种可重用的组件。 通常可以将JSP页面中的实体信息和数据处理过程抽取出来,封装到JavaBean中
Servlet
是用Java语言编写的一个类,用于扩展服务器的功能,实现驻留在服务器上的通过请求/响应模型来访问的应用程序。
主要结构
一个典型的Java Web应用包含四个部分:
- 公开文件夹,存放能够被用户访问的资源,包括.jsp、.htm、.js、.css、.jpg等文件。
- WEB-INF/web.xml文件,应用的部署描述文件。
- WEB-INF/classes文件夹,存放 编译好的Java类文件(.class)。
- WEB-INF/lib文件夹, 存放Java类库文件(.jar)。
项目总体结构设计Java类存放于src目录,样式文件、图片资源、Jsp 文件存放于WebRoot目录。
| 包名称 | 作用 |
|---|---|
| bean | DBConnectionManager获取并返回数据库连接 |
| Util | 包括Student学生的JAVABEAN类,可实现各自的set与get方法 |
| dao | 包括StudentDao的JAVABEAN组件,实现对数据库的访问操作 |
| servlet | 包含各业务的控制器组件 |