图书管理项目

model对象定义
dao数据访问层
service逻辑层(接口)
Impl逻辑实现

dao层定义方法接口然后在service层和serviceimpl层实现接口方法从而达到操作数据库的目的。

WebContent->WEB-INF->lib需要常用的基础的jar包:
c3p0-0.9.1.2.jar
commons-dbutils-1.3.jar
mysql-connector-java-5.1.37-bin.jar
jstl-1.2.jar
fastjson-1.2.31.jar

WebContent里新建index.jsp(首页)

java Resources->src新建包
com.dao
com.daoimpl
com.servlet
com.util
com.service
com.serviceimpl
com.entity
com.bean

java Resources新建folder
resource导入c3p0-config.xml配置文件(重点:mysql驱动类,连接的数据库、数据库的用户名、密码)

java Resources->src->com.util
新建类JDBCUtils.java复制code(创建连接池对象、获取连接池、释放资源)

com.entity创建实体类
新建类 User.java(根据表名) public 数据类型 名
生成get、set方法、全选 ok
生成tostring方法 ok
构造器:
在pubic构造:source倒数第二个 ok、倒数第三个 ok super()删掉

java Resources->src->com.bean
BasicDao.java(写好了增删改查的功能,直接调用)
删掉错误的导入包,导入自己的包

实现类的dao继承BasicDao.java
basicdaoT是泛型,把实体类放进来(entity)导入包

固定内容:
com.bean(basicdao引入)
com.entity(实体类)
com.dao
com.until(jdbcuntil引入)

登录功能
com.service->新建UserService.java类(这是一个接口)->public interface UserSevice
->public (int)User getLogin(String username,String passward) 接收参数
int->User导入包

新建一个实现:
com.serviceimpl->新建UserServiceImpl.java
->public class UserServiceImpl implements UserService 实现接口
Impl报红线,add添加没有实现的方法

23分
Java Resources->src->com.servlet
新建servlet->LoginServlet.Java->next*2->do post、do get 去掉,选择service->finish
private static final long serialVersionUID = 1L;
protected void service…
之间内容删掉

写提交
WebContent->index.jsp

(from,提交到servlet) username:
password:

Java Resources->src->com.servlet->LoginServlet.java
protected void service…
request.getParameter("")->ctrl+1->
String username = request.getParameter(“uname”);

调用接口
UserService userService = new UserServiceImpl();
【userService.getLogin(username,password);】->ctrl+1->
int count = userService.getLogin(username, password);
if(count > 0){
//登陆成功 跳到首页 列表页面
//转发
request.getRequestDispatcher(“success.jsp”).forward(request, response);
}else{
//失败 跳转到 登录页面
response.sendRedirect(request.getContextPath() + “/index.jsp”);
或者response.sendRedirect(“index.jsp”);

WebContent->新建success.jsp
title:首页->列表页面
body:success

编码问题(对于多个servlet这个代码是冗余的)
Java Resources->src->com.servlet->LoginServlet.java
protected void service…下面
复制request.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html;charset=UTF-8”);
String username = request.getParameter(“uname”);

Java Resources->src->新建包com.filter->新建类EncodingFilter.java
public class EncodingFilter implements Filter 导入包
红线add没有实现的方法
arg0.1.2改成前面字段开头小写
chain下面写
chain.doFilter(request,response);
chain上面解决编码问题
复制request.setCharacterEncoding(“UTF-8”);
response.setContentType(“text/html;charset=UTF-8”);

WebContent->WEB-INF->web.xml
xy

EncodingFilter
com.filter.EncodingFilter
//右键ctrlc下面复制全类名,ctrl左键可以追踪

EncodingFilter
/*


index.jsp

登陆成功
Java Resources->src->com.servlet->LoginServlet.java
UserService userService = new UserServiceImpl();
int count = userService.getLogin(username, password);
getLogin->ctrl左键->UserService.java->ctrl左键第二个实现->UserServiceImpl.java
->return 1

接口不能写具体方法,接口需要实现关键字implements

写数据库
Java Resources->src->com.serviceimpl->UserServiceImpl.java
public class …
UserDao userDao = new UserDao(); //实现
public (int)User getLogin(String username, String passward) {下面
int->User导入包
String sql = “”; //sql
userDao.scalar(sql, objects); \userDao.scalar(sql,username,password);
//objects直接把上面的String参数往里面放,不写也不报错
红线try/catch抛出异常
userDao.scalar((sql, objects);->ctrl+1->
Object scalar = userDao.scalar(sql, objects);->
User user = userDao.querySingle(sql, objects);
ruturn 1->return user;
String sql = “”;下面->User user =new User();
User user = userDao.querySingle((sql, objects);->
user = userDao.querySingle(sql, objects);//删掉开头的User

Java Resources->src->com.servlet->LoginServlet.java
int count = userService.getLogin(username, password);->
userService.getLogin(username, password);->ctrl+1->
User user = userService.getLogin(username, password);
下面加上int count =0;
if(count > 0)-> if (user !=null)
删掉int count =0;
System.out.println("user -> " + count);
添加System.out.print(“user ->”+ user);
//打印user

视频1 53分开始写sql
Java Resources->src->com.serviceimpl->UserServiceImpl.java
String sql = "SELECT * FROM t_user WHERE username = ? AND password = ? ";
参数用?代替

到此关联了数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值