工作留言程序可以根据不同的需求和场景进行设计,以下是一个简易的基于JSP的留言程序设计示例:
1. 普通方式
功能描述
用户登录后可以发表、修改、浏览、查询和删除留言。
使用的技术包括JSP基础、HTTP请求对象(request)、响应对象(response)和会话对象(session)以及JDBC进行数据库操作。
页面流程
1. `login.jsp`: 用户登录表单,错误信息提示。
2. `login_conf.jsp`: 验证用户名和密码,成功则保存用户到session,失败则返回登录页面。
3. `log_success.jsp`: 显示欢迎信息并提供链接到留言列表页面。
4. `list_notes.jsp`: 显示所有留言,提供增删改查链接。
5. `insert.jsp`: 新留言表单,包含返回列表的链接。
6. `insert_do.jsp`: 处理插入操作。
7. `update.jsp`: 显示待修改留言,提交后调用更新操作。
8. `update_do.jsp`: 处理更新操作。
9. `delete_do.jsp`: 处理删除操作。
2. JSP+DAO设计模式
数据表结构
```sql
CREATE TABLE `guestbook` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(50) DEFAULT CHARSET=utf8,
`contents` varchar(200),
`name` varchar(20),
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
```
DAO接口
```java
public interface GuestbookDAO {
void insertNote(String title, String contents, String name);
void updateNote(int id, String title, String contents, String name);
void deleteNote(int id);
List } ``` JSP页面 1. `insert.jsp`: ```jsp ``` 2. `insert_do.jsp`: ```jsp <%@ page import="java.sql.*" %> <% GuestbookDAO dao = new GuestbookDAOImpl(); String title = request.getParameter("title"); String contents = request.getParameter("contents"); String name = request.getParameter("name"); dao.insertNote(title, contents, name); response.sendRedirect("list_notes.jsp"); %> ``` 3. `update.jsp`: ```jsp ``` 4. `update_do.jsp`: ```jsp <%@ page import="java.sql.*" %> <% GuestbookDAO dao = new GuestbookDAOImpl(); int id = Integer.parseInt(request.getParameter("id")); String title = request.getParameter("title"); String contents = request.getParameter("contents"); String name = request.getParameter("name"); dao.updateNote(id, title, contents, name); response.sendRedirect("list_notes.jsp"); %> ``` 5. `delete_do.jsp`: ```jsp <%@ page import="java.sql.*" %> <% GuestbookDAO dao = new GuestbookDAOImpl(); int id = Integer.parseInt(request.getParameter("id")); dao.deleteNote(id); response.sendRedirect("list_notes.jsp"); %> ``` 6. `list_notes.jsp`: