没有合适的资源?快使用搜索试试~ 我知道了~
实训专题--MVC+DAO留言管理系统.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 95 浏览量
2022-06-21
18:11:45
上传
评论
收藏 171KB DOC 举报
温馨提示
试读
29页
实训专题--MVC+DAO留言管理系统
资源推荐
资源详情
资源评论
实训专题(4)--MVC+DAO 留言管理
留言板程序------MVC+DAO 的留言管理程序
讲解目的:
主要通过这里掌握 MVC 基本设计思想和基础应用,进一步熟悉 JDBC 的数据库
连接,熟练运用 Servlet,JavaBean 等技术进行 WEB 开发,同时了解 DAO 数据
层设计。准备为 Struts 框架等 J2EE 框架知识学习打下坚实基础。
功能:
1、 仍然是留言管理
需要技术:
1、 Java 基础、JSP 基础语法与内置对象(request、response、session)
2、 JDBC 操作使用、HTML 表单知识
3、 了解数据库 MySql 及简单的数据库知识
4、 MVC 的基础知识
5、 Servlt,JavaBean 的知识
6、 DAO 的基础知识
页面分析:
一、登陆部分
1、 login.jsp
表单
登陆的错误提示:用户名或密码错误
2、 login_conf.jsp
接收表单参数
连接数据库
在数据库进行验证
成功将用户名保存在 session 之中
失败跳转到 login.jsp 进行错误提示,并提示再次登陆
3、 login_success.jsp
需要对用户是否登陆做出验证
打印欢迎用户的信息
给出超连接到 list_notes.jsp 上去,显示全部留言
二、留言管理模块
定义了两个 Servlet
1. LoginServlet:完成登陆
2. NoteServlet:需要完成对留言数据的增,删,改,查(全部,模糊,按 ID
查)
如何能够在一个 Servlet 之中区分不同的操作呢?
1
实训专题(4)--MVC+DAO 留言管理
设置一个标记位:status
insert:增加操作
update:更新操作
delete:删除操作
selectid:按 id 查询
selectall:查询所有
selectbylike:模糊查询
如果判断没有标志位,则认为是错误操作
需要修改的页面
1. 错误的显示页面:errors.jsp,表示未知的操作
2. MVC 中使用 C 进行登陆验证,所以 login_do.jsp 页面可以不要了
问题:
1. 使用 MVC,可以减少 JSP 代码,建议学员使用过滤器过滤乱码和验证登陆
2. JSP 与 JavaBean 之间的耦合程度降低,但是代码开发仍然很复杂
新增程序列表:
DAOFactory.java
DataBaseConnection.java
LoginServlet.java
Note.java
NoteDAO.java
NoteDAOImpl.java
NoteServlet.java
Person.java
PersonDAO.java
PersonDAOImpl.java
数据库连接参数:
留言管理 note 数据表:
2
实训专题(4)--MVC+DAO 留言管理
DROP TABLE IF EXISTS `test`.`note`;
CREATE TABLE `test`.`note` (
`id` int(10) unsigned NOT NULL auto_increment,
`title` varchar(45) NOT NULL,
`author` varchar(45) NOT NULL,
`content` varchar(245) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
用户 person 数据表:
DROP TABLE IF EXISTS `test`.`person`;
CREATE TABLE `test`.`person` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312;
数据库连接常量:
private static String driver="com.mysql.jdbc.Driver";
private static String url="jdbc:mysql://localhost:3306/SSH";
private String user="root";
private String passWord="root";
阶段总结:
MVC+DAO 实现留言管理程序代码完成后,恭喜你!
证明你已经对基于 JAVA 的 WEB 程序开发有了很好的基础,以后不论接触框架
还是更新的开发知识,你都可以游刃有余!!!
代码:
LoginServlet.java
package com.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
3
实训专题(4)--MVC+DAO 留言管理
import javax.servlet.http.HttpServletResponse;
import com.bean.Person;
import com.factory.DAOFactory;
public class LoginServlet extends HttpServlet {
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
/**
* The doPost method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to post.
*
* @param request the request send by the client to the server
* @param response the response send by the server to the client
* @throws ServletException if an error occurred
* @throws IOException if an error occurred
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//因为需要判断登陆是否成功而进行跳转,所以定义一个路径参数
String path="login.jsp";
//接受 Login.jsp 传递过来的参数
String id=request.getParameter("id");
String password=request.getParameter("password");
//将请求的内容赋值给 Person bean,实例化一个 person 对象
Person person = new Person() ;
4
实训专题(4)--MVC+DAO 留言管理
person.setId(id) ;
person.setPassword(password) ;
//利用我们写好的工厂类,进行数据库验证
try
{
if(DAOFactory.getPersonDAOInstance().login(person))
{
// 如果为真,则表示用户 ID 和密码合法
// 设置用户姓名到 session 范围之中
//注意 servlet 中不能直接使用 session,需要通过 request 对象取得
request.getSession().setAttribute("uname",person.getName()) ;
// 登陆成功,修改跳转路径
path = "login_success.jsp" ;
}
else
{
//登陆失败,设置错误信息 err
request.setAttribute("err","错误的用户名或密码");
}
//现在开始进行跳转
request.getRequestDispatcher(path).forward(request, response);
}
catch(Exception e)
{
}
}
}
NoteServlet.java
package com.servlet;
import java.io.IOException;
import com.bean.*;
import com.factory.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
5
剩余28页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功