- 流程:
- java(实体类entity,数据库的配置文件conf,进行数据库中表的创建sql,dao层接口,daoimpl继承实现功能,service业务层接口,serviceImpl继承方法:调用daoimpl对象的方法进行实现,test测试类,view显示层,util中JdbcUtil进行流操作对conf中的jdbc.properties)
- ---->做成项目 Jdbc_xiangmu
- ---->使用数据库Oracle Database 10g Express Edition
- ---->部署到web服务器tomcaty响应 servlet资料1 8989
- ----->有jsp.html表单提交处理
- ----->实现交互性。
- 工具:
- jdk1.7.0_51
-
右键计算机---->属性---->高级系统设置--->环境变量--在系统变量中新建。JAVA_HOME :JDK安装目录(修改) path : %JAVA_HOME%\binClassPath : .
- MyEclipse2013(外加破解补丁)
- apache-tomcat-6.0.36
- tomcat根目录下,conf/server.xml配置8080改为8989,因为Oracle端口号为8080
- login.html
- <table border="1" bordercolor="blue" width="40%" cellspacing="0"
-
cellpadding="1" align="center"><form action="/servlet_day4/login2" method="post"><tr><td>姓名</td><td><input type="text" name="username" maxlength="8" /></td></tr><tr><td>密码:</td><td><input type="password" name="password" maxlength="8" /></td></tr><tr><td colspan=2 align="center"><input type="submit" name="submit" value="登录" /> <input type="reset" name="" value="重置" /></td></tr></form></table>
- LoginFunctionAction.java中进行处理并进行配置
-
LoginFunctionAction extends HttpServlet@Overrideprotected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// 设置请求编码格式request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8");
// 1.获取客户端的数据String name = request.getParameter("username");String password = request.getParameter("password");// 设置相应类型response.setContentType("text/html");
try {// 2.调用业务层的方法UserServiceImpl service = new UserServiceImpl();User user = service.login(name);
// 判断用户存在if (user != null) {// 判断密码是否正确if (user.getPassword().equals(password)) {// 跳转成功的页面//创建请求分支RequestDispatcher rd=request.getRequestDispatcher("/ok");rd.forward(request, response);
} else {// 跳转错误页面//设置命名属性request.setAttribute("msg", "密码错误");RequestDispatcher rd=request.getRequestDispatcher("/error");rd.forward(request, response);}
} else {// 用户不存在,跳转错误页面//设置命名属性request.setAttribute("msg", "用户名不存在");RequestDispatcher rd=request.getRequestDispatcher("/error");rd.forward(request, response);}
} catch (Exception e) {
e.printStackTrace();//设置命名属性request.setAttribute("msg", "网络异常");RequestDispatcher rd=request.getRequestDispatcher("/error");rd.forward(request, response);} - WebRoot-WEB-Inf-web.xml中
-
<!-- 配置验证页面2--><servlet><servlet-name>LoginFunctionAction</servlet-name><servlet-class>com.zzdx.bill.action.LoginFunctionAction</servlet-class></servlet><servlet-mapping><servlet-name>LoginFunctionAction</servlet-name><url-pattern>/login2</url-pattern></servlet-mapping>
-
代码:
- 包下conf--->jdbc.properties
-
driver=oracle.jdbc.OracleDriverurl=jdbc:oracle:thin:@localhost:1521:xeusername=hrpassword=hr
-
- dao层
-
UserDao.javapackage com.zzdx.bill.dao;
import com.zzdx.bill.entity.User;
public interface UserDao {// 用户登陆public User selectByName(String name) throws Exception;
// 用户注册public void insertUser(User user) throws Exception;
public User deleteByName(String name) throws Exception;
public User UpdateByName(String name, String password) throws Exception;
} - UserDaoImpl.java实现类
- package com.zzdx.bill.dao;
import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;
import com.zzdx.bill.entity.User;import com.zzdx.bill.util.JdbcUtil;
public class UserDaoImpl implements UserDao {// 用户登陆@Overridepublic User selectByName(String name) throws Exception {
User user = null;Connection conn = null;PreparedStatement pstm = null;ResultSet rs = null;try {conn = JdbcUtil.getConnection();String sql = " select * from t_user where name=?";pstm = conn.prepareStatement(sql);
pstm.setString(1, name);
rs = pstm.executeQuery();if (rs.next()) {String name1 = rs.getString(2);String pwd = rs.getString(3);
user = new User();user.setName(name1);user.setPassword(pwd);
}} finally {JdbcUtil.release(rs, pstm, conn);}return user;}
// 用户注册@Overridepublic void insertUser(User user) throws Exception {
// 1链接Connection conn = null;// 2接口PreparedStatement pstm = null;try {conn = JdbcUtil.getConnection();// 3执行SQL语句String sql = "insert into t_user values(seq_t_user.nextval,?,?)";pstm = conn.prepareStatement(sql);// 封装Person 对象
pstm.setString(1, user.getName());pstm.setString(2, user.getPassword());
int row = pstm.executeUpdate();System.out.println(row);} finally {// 6释放资源JdbcUtil.release(null, pstm, null);}
}
@Overridepublic User deleteByName(String name) throws Exception {Connection conn = null;PreparedStatement pstm = null;ResultSet rs = null;try {conn = JdbcUtil.getConnection();String sql = " delete from t_user where name=?";pstm = conn.prepareStatement(sql);pstm.setString(1, name);rs = pstm.executeQuery();
if (rs.next()) {String name1 = rs.getString(2);
}} finally {JdbcUtil.release(rs, pstm, conn);}return null;}
@Overridepublic User UpdateByName(String name, String password) throws Exception {
Connection conn = null;PreparedStatement pstm = null;ResultSet rs = null;try {conn = JdbcUtil.getConnection();String sql = " insert into t_user values(seq_T_user.nextval,?,?)";pstm = conn.prepareStatement(sql);
pstm.setString(1, name);pstm.setString(2, password);
int row = pstm.executeUpdate(sql);
} finally {JdbcUtil.release(rs, pstm, conn);}return null;}
}PersnDao.javapackage com.zzdx.bill.dao;
import java.util.List;
import com.zzdx.bill.entity.Person;
public interface PersonDao {// 添加联系人public void insert(Person per) throws Exception;
// 按id查询(精确查询)public Person selectById(int id) throws Exception;
// 查询所有联系人public List<Person> selectAll() throws Exception;
// 按ID删除public void delete(int id) throws Exception;
// 修改public void update(Person per) throws Exception;
// 按姓名模糊查询public List<Person> selectLikeName(String name) throws Exception;
-