JAVAjsp小程序流程

  1. 流程:
    1. java(实体类entity,数据库的配置文件conf,进行数据库中表的创建sqldao层接口,daoimpl继承实现功能,service业务层接口,serviceImpl继承方法:调用daoimpl对象的方法进行实现,test测试类,view显示层,util中JdbcUtil进行流操作对conf中的jdbc.properties
    2. ---->做成项目 Jdbc_xiangmu
    3. ---->使用数据库Oracle Database 10g Express Edition
    4. ---->部署到web服务器tomcaty响应 servlet资料1  8989
    5. ----->有jsp.html表单提交处理 
    6. ----->实现交互性。
  2. 工具:
    1. jdk1.7.0_51
    2. 右键计算机---->属性---->高级系统设置--->环境变量--在系统变量中新建。
      JAVA_HOME :JDK安装目录
      (修改)    path : %JAVA_HOME%\bin
      ClassPath :  .
    3. MyEclipse2013(外加破解补丁)
    4. apache-tomcat-6.0.36
      1. tomcat根目录下,conf/server.xml配置8080改为8989,因为Oracle端口号为8080
    5. login.html
    6. <table border="1" bordercolor="blue" width="40%" cellspacing="0"
    7.             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="登录" />
                      &nbsp; 
                      <input type="reset" name="" value="重置" />
                          </td>
                  </tr>
                     </form>
        </table>
    8. LoginFunctionAction.java中进行处理并进行配置
      1. LoginFunctionAction extends HttpServlet
        @Override
            protected 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);
                }
      2. WebRoot-WEB-Inf-web.xml中
      3.                               <!--  配置验证页面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> 



代码:servlet_day4.zip

  1. 包下conf--->jdbc.properties
    1. driver=oracle.jdbc.OracleDriver
      url=jdbc:oracle:thin:@localhost:1521:xe
      username=hr
      password=hr 
  2. dao层
    1. UserDao.java
      package 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;

      }
    2. UserDaoImpl.java实现类
    3. 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 {
          // 用户登陆
          @Override
          public 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;
          }

          // 用户注册
          @Override
          public 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);
              }

          }

          @Override
          public 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;
          }

          @Override
          public 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.java
      package 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;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值