Jsp+servlet+mysql搭建套路
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搭建套路的更多相关文章
- jsp+servlet+mysql 实现简单的银行登录转账功能
jsp+servlet+mysql 实现简单的银行登录转账功能 [前期的准备] html(登录界面),servlet(处理业务逻辑),jsp(主要实现界面),mysql(实现与数据库的简单的交互)先从 ...
- Eclipse JSP/Servlet 环境搭建
Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装,可参阅 Java 开发环境配置. 我们可以使用 Eclipse 来搭建 JSP 开发环境,首先我们分别下载 ...
- JSP-Runood:Eclipse JSP/Servlet 环境搭建
ylbtech-JSP-Runood:Eclipse JSP/Servlet 环境搭建 1.返回顶部 1. Eclipse JSP/Servlet 环境搭建 本文假定你已安装了 JDK 环境,如未安装 ...
- (详细)Eclips+jsp+servlet+mysql+登录实例+源代码
欢迎任何形式的转载,但请务必注明出处. 该教程较全,从软件的安装以及相关的环境配置我都放置了相关教程的链接,读者可直接点击进入.自己写电商网站作业时查找了很多资料,但都不是很全,所以趁着寒假写了这份教 ...
- JSP+Servlet+mysql简单示例【图文教程】
下载MYSQL:http://dev.mysql.com/downloads/ 下载安装版的 然后安装(安装步骤就不详细说了) 安装好之后,点击托盘图标,打开管理工具 创建一个数据库 数据库的名字 ...
- jsp/servlet/mysql/linux基本概念和操作
一.什么是OOP编程? 面向对象,以结果为导向,并封装整个过程,并尽可能地增加代码的复用性和可扩展性...... 二.Junit? JUnit是一个java语言的单元测试框架.Junit测试时程序员测 ...
- jsp+servlet+mysql增删改查
用的IntelliJ IDEA开发的,jdk1.8 1 首先是项目结构,如下图所示 2看各层的代码 首先是web.xml <?xml version="1.0" encodi ...
- jsp+servlet+mysql简单实现用户登陆注册
原码,项目中遇到的错误,解决方法,文章最后有链接可以获取 项目简介 *有的网友说在修改和删除时会触发error,建议各位不要去把用户名命名为中文! 功能描述 登陆,注册,用户一览表,修改,删除,添加, ...
- 基于JSP servlet mysql 的登陆页面
数据库中建表: login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8&q ...
随机推荐
- python中join()函数、list()函数补充的用法
---恢复内容开始--- Python join() 方法用于将序列中的元素(必须是str) 以指定的字符 连接生成一个新的字符串. list=[','a','b','c'] print(''.joi ...
- Ubuntu下启动 Redis时, 提示 "Can't open the log file: Permission denied failed"
问题来源:在删除var目录下的log文件时,将redis文件夹删除了.然后在重启时:/etc/init.d/redis-server start,提示: Starting redis-server: ...
- Boost.Coroutine2:学习使用Coroutine(协程)
function(函数)routine(例程)coroutine (协程) 函数,例程以及协程都是指一系列的操作的集合. 函数(有返回值)以及例程(没有返回值)也被称作subroutine(子例程), ...
- CTR点击率预估干货分享
CTR点击率预估干货分享 http://blog.csdn.net/bitcarmanlee/article/details/52138713
- shell 一次移动很多个命名相似的文件
文件夹下面有很多类似下面命名的文件 aaaaaa01bbb aaaaaa01cc aaaaaa01dd aaaaaa02bbb aaaaaa02cc 要把 aaaaaa01 的文件移走 用 mv / ...
- 如何获取某个网站的favicon.ico
http://moco.imooc.com/player/report.html 今天看到这个网站上,左侧的小图片挺好看的,想弄下来,检查源码,也没有看到 <head> <meta ...
- tomcat 管理端 安全措施
由于公司的项目并未启用nginx负载均衡,所以自然也没用到tomcat与web应用一对一的安全操作,经常会遇到 重启单个应用又不想重启tomcat的情况.同时,又出于安全考虑,将tomcat的默认管理 ...
- java rsa 加解密
参考 http://blog.csdn.net/a394268045/article/details/52232120 package rsa; import org.apache.commons.c ...
- Dubbo简单理解
Dubbo 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,Dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有Dubbo这样 ...
- 115. Distinct Subsequences (String; DP)
Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...