1、建立数据库
根据需求建立相应的数据库
确立数据库的字段、属性、主键等
2、建立javaweb项目,搭建开发环境
在开发环境的/WebRoot/WEB-INF
下建立lib文件夹,存放需要使用的jar包
常用的包:
mysqldriver.jar
beanutil.jar
commons-logging.jar
jstl.jar
standard.jar
3、java内部书写,建立domain包
在其下书写bean类,类的字段与数据库对应
4、定义dao和其接口
(1)接口dao包:对daoimlents包进行抽象(为了增加dao的课扩展性)
//增加客户
//这里对数据库中的数据进行操作增删,加入sql语句

模板:
Connection conn =null;
PreStatement stmt = null;
ResultSet rs = null;
if(c==null)
//参数不对异常见还有NUllException,就是参数为空的时候
throw new IllegaException();
try{
conn=Jutil.getConnection();
stmt=conn.prepareStatement("sql语句");
stmt.setString(1,c.getName());
.
.
.
.
stmt.getexcuteUpdate();
}catch(Exception e){
throw new DaoException(e);
}finally{
Jtuil.release(*,*,*);*参数名字
}

void addCustomer(Customer c);
//根据id删除客户信息。名字体现要实现的功能
void delCustomerById( String customerId);
//更改客户的信息 IdIsNullException如果参数id为null,则抛出异常
//建立异常包,命名IdIsNullException类继承Exception
void updateCustomer(Customer c) throw IdIsNullException;
//查询所有用户信息
List<Customer> findAll();
//根据客户id查询客户信息(单个某个客户)
Customer findCustomerById(String customerId);

注意;
查询方法还可拓展,比如根据用户的其他爱好,地址,等信息进行查找用户
(2)daoimlents包对dao具体实现,就是功能的实现在此书写,
四大方法增删改查
daoimlents implements dao{}
5、建立与数据库连接的Jutil包
其中书写Jutil类
两个方法:
//书写数据链接
//为增加扩展性一般情况,代码中的String字符串都写在properties配置文件中,Class.forname("com.mysql.jdbc.Driver");
//建立properties文本,然后写入
className=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/databaseName
user=root
password=123456
建立读取此文本的方法
InputSteam in= Jutil.class.getClassLoader.getReSourseAsStream("propertiesname.properties");
Properties pro = new Properties();
pro.load(in);
url=pro.getProperties("url");
password=pro.getProperties("password");
user=pro.getProperties("user");
className=pro.getProperties("className");
public static Connection getConnection(){}
//书写资源释放
public static void relase(ResultSet st,Statement st,Connection conn){}
6、书写模板位置
7、测试
java.lang.NoClassDefFoundError: Could not initialize class com.Jutil.Jutil
at com.daoImpl.CustomerDaoImpl.addCustomer(CustomerDaoImpl.java:44)
at com.test.CustomerDaoImplTest.testAddCustomer(CustomerDaoImplTest.java:30)
数据库名字与javabean的名字不同,配置文件名字不同,没有把jar包变成buildpath

8、业务层搭建
建立service接口
书写service实现
因为业务层调用dao层
private CustomerDao dao= new CustomerDaoImpl();

9、servlet和jsp书写
打开web.xml将servlet设为主页
servlet调用service所以需要
private Service s = new ServiceImpl();
servlet 建立显示所有信息的界面的连接
List<Customer> cs = s.findAll();
request.setAttribute("cs",cs);
request.getRequestDispathcher("/listshow.jsp").forword(request,response);

Jsp+servlet+mysql搭建套路的更多相关文章

  1. jsp+servlet+mysql 实现简单的银行登录转账功能

    jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...

  2. Eclipse JSP/Servlet 环境搭建

    Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装,可参阅 Java 开发环境配置. 我们可以使用 Eclipse 来搭建 JSP 开发环境,首先我们分别下载 ...

  3. JSP-Runood:Eclipse JSP/Servlet 环境搭建

    ylbtech-JSP-Runood:Eclipse JSP/Servlet 环境搭建 1.返回顶部 1. Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装 ...

  4. (详细)Eclips+jsp+servlet+mysql+登录实例+源代码

    欢迎任何形式的转载,但请务必注明出处. 该教程较全,从软件的安装以及相关的环境配置我都放置了相关教程的链接,读者可直接点击进入.自己写电商网站作业时查找了很多资料,但都不是很全,所以趁着寒假写了这份教 ...

  5. JSP+Servlet+mysql简单示例【图文教程】

    下载MYSQL:http://dev.mysql.com/downloads/ 下载安装版的 然后安装(安装步骤就不详细说了) 安装好之后,点击托盘图标,打开管理工具 创建一个数据库   数据库的名字 ...

  6. jsp/servlet/mysql/linux基本概念和操作

    一.什么是OOP编程? 面向对象,以结果为导向,并封装整个过程,并尽可能地增加代码的复用性和可扩展性...... 二.Junit? JUnit是一个java语言的单元测试框架.Junit测试时程序员测 ...

  7. jsp+servlet+mysql增删改查

    用的IntelliJ IDEA开发的,jdk1.8 1 首先是项目结构,如下图所示 2看各层的代码 首先是web.xml <?xml version="1.0" encodi ...

  8. jsp+servlet+mysql简单实现用户登陆注册

    原码,项目中遇到的错误,解决方法,文章最后有链接可以获取 项目简介 *有的网友说在修改和删除时会触发error,建议各位不要去把用户名命名为中文! 功能描述 登陆,注册,用户一览表,修改,删除,添加, ...

  9. 基于JSP servlet mysql 的登陆页面

    数据库中建表: login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&q ...

随机推荐

  1. SpringMvc Intercetor

    对于登录的访问控制以及session的超时控制. 当用户在未登录情况下,直接在地址栏输入url进入某些页面时,会越过登录页,如果不做控制会有安全问题. 因此可添加拦截器处理异常: /** * @Des ...

  2. 用JDBC如何调用存储过程

    package com.huawei.interview.lym; import java.sql.CallableStatement; import java.sql.Connection; imp ...

  3. 数据类型-Series

    数据类型-Series Series数据类型由一组数据和数据相关的索引组成,键 -> 值 Series数据类型可视为:一维 带标签 数组 Series基本操作类似数组和字典 Series数据类型 ...

  4. python生成器(转)

    生成器是一种特殊的迭代器,内部支持了生成器协议,不需要明确定义__iter__()和next()方法.生成器通过生成器函数产生,生成器函数可以通过常规的def语句来定义,但是不用return返回,而是 ...

  5. poj1661 (DP)

    题目链接:http://poj.org/problem?id=1661 思路: 把初始位置看成左,右端点均为x0,即长度为0,高度为y0的一个平台,按照平台高度从低到高排序.用dp[i][0],dp[ ...

  6. hdoj1043 Eight(逆向BFS+打表+康拓展开)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1043 思路: 由于自己对康拓展开用的太少,看到这个题没想到康拓展开,最开始打算直接转换为数字,但太占内 ...

  7. 早停法(Early Stopping)

    一.早停法简介(Early Stopping)当我们训练深度学习神经网络的时候通常希望能获得最好的泛化性能(generalization performance,即可以很好地拟合数据).但是所有的标准 ...

  8. Js语言的奇怪特性

    var a = .3 - 2; console.log(a); a = 0.099999998 而不是0.1,是不是很奇怪?

  9. c++中Socket编程(入门)

    转载 :http://www.cnblogs.com/L-hq815/archive/2012/07/09/2583043.html 但该作者也是转载,国外网站翻译之作 本人在学习Socket编程时, ...

  10. [leetcode]560. Subarray Sum Equals K 和为K的子数组

    Given an array of integers and an integer k, you need to find the total number of continuous subarra ...