• web项目(用户注册)(web分层结构)


    web项目中的分层:dao--service--servlet--jsp。

    0.在idea中创建web项目,配置Tomcat9。file--project structure--modules--dependencies+(添加Tomcat9.0),这样才可以使用servlet和jsp

    0.1在web-inf下创建lib文件夹,存放jar包:c3p0-0.9.1.2.jar(开源的JDBC连接池)/commoms-dbutils-1.7.jar/hamcrest-core-1.3.jar(核心包)/jstl-1.2.jar/jutil-4.12.jar(测试)/ojdbc6.jar(连接数据
    库)/log4j-4.12.jar(记录日志)。
    1.在conf(Resource Root)文件夹下创建 c3p0-config.xml ,配置数据库的连接(注意是中划线,且名称不能写错)
    <?xml version="1.0" encoding="UTF-8" ?>
    <c3p0-config>
    <default-config>
    <property name="user">scott</property>
    <property name="password">tiger</property>
    <property name="jdbcUrl">jdbc:oracle:thin:@localhost:1521:orcl</property>
    <property name="driverClass">oracle.jdbc.driver.OracleDriver</property>
    </default-config>
    </c3p0-config>
    1.1在conf(Resource Root)文件夹下创建 Resource bundle命名为log4j.properties。(表示不懂)
    #debug 指的是记录日志的级别-info-warn-error
    #a 表示记录日志的位置
    log4j.rootLogger=debug,a,b
    #分别指明a和b代表的位置
    #表示a是指控制台的输出
    log4j.appender.a=org.apache.log4j.ConsoleAppender
    #控制台输出的目标,使用哪个命令输出异常信息
    log4j.appender.a.Target=System.out
    #设置输出日志的格式要求,使用模板布局
    log4j.appender.a.layout=org.apache.log4j.PatternLayout
    #指定模板 %d表示日期 %m异常的信息 %n表示换行
    log4j.appender.a.layout.ConversionPatten=%d{yyyy-MM-dd HH:mm:ss} %m%n
    #输出文件
    log4j.appender.b=org.apache.log4j.FileAppender
    log4j.appender.b.File=E:\error.log
    log4j.appender.b.layout=org.apache.log4j.PatternLayout
    log4j.appender.b.layout.ConversionPatten=%d{yyyy-MM-dd HH:mm:ss} %m%n
    2.在src 中创建com.neu.util包中DButil(连接数据库了)
    private static ComboPooledDataSource ds=new ComboPooledDataSource();
    //获取连接数据库的数据源
    public static DataSource getDataSource(){
    return ds;
    }
    3.在src中创建com.neu.dao包中的YongHuDao(与数据库连接)
    //用户信息的添加
    public int saveYonghu(String zhanghao,String mima,String mingcheng,String dianhua,String youxiang){
    int row=0;
    //sql语句换行必须加空格
    //尽量在plsql中编写sql语句,然后复制
    String sql="insert into t_yonghu(yh_id,yh_zhanghao,yh_mima,yh_mingcheng,yh_dianhua,yh_youxiang)values " +
    "(seq_book_id.nextval,?,?,?,?,?)";
    //创建dbutils包中的QueryRunner对象,其实就是我们以前使用的statement
    QueryRunner qr=new QueryRunner(DBUtil.getDataSource());
    //QueryRunner的update方法可以执行insert/delete/update方法。query方法可以执行select方法。
    try {
    row=qr.update(sql,zhanghao,mima,mingcheng,dianhua,youxiang);//括号中存放sql语句,其次给?赋值
    } catch (SQLException e) {
    throw new RuntimeException(e);//异常
    }
    return row;
    }
    4.在src中创建com.neu.service包中的YongHuService(与dao层连接)
    public boolean doSave(String zhanghao,String mima,String mingcheng,String dianhua,String youxiang){
    YongHuDao yongHuDao=new YongHuDao();
    boolean flag=false;
    try {
    int row=yongHuDao.saveYonghu(zhanghao,mima,mingcheng,dianhua,youxiang);
    if(row>0){
    flag=true;
    }
    } catch (Exception e) {
    logger.debug(e);
    //使用log4j记录日志 把异常信息写入到文件中(可不写)
    }
    return flag;
    }
    5.直接在web文件夹下创建success.jsp/fail.jsp/yonghuzhuce.jsp。
    fail.jsp:
    <body>
    操作失败!!5秒后自动返回或点击<a href="#" onclick="history.back()">返回</a>
    </body>
    <script type="text/javascript">
    function myback() {
    history.back();
    }
    setTimeout("myback()",5000);//只执行一次,5秒后执行myback()函数
    //setInterval("myback()",5000);//每隔5秒执行一次
    </script>
    yonghuzhuce.jsp:
    <body>
    <div>
    <form action="YongHuZhuCeServlet.do" method="post">
    <table>
    <tr>
    <td>账号</td><td><input type="text" name="zhanghao" id="zhanghao"></td>
    </tr>
    <tr>
    <td>密码</td><td><input type="password" name="mima" id="mima"></td>
    </tr>
    <tr>
    <td>姓名</td><td><input type="text" name="mingcheng" id="mingcheng"></td>
    </tr>
    <tr>
    <td>电话</td><td><input type="text" name="dianhua" id="dianhua"></td>
    </tr>
    <tr>
    <td>邮箱</td><td><input type="text" name="youxiang" id="youxiang"></td>
    </tr>
    <tr>
    <td style="align-content: center">
    <input type="submit" value="注册">
    </td>
    </tr>
    </table>
    </form>
    </div>
    </body>
    6.在src中创建com.neu.servlet包中的YongHuZhuCeServlet(与service,jsp层连接)
    在doPost方法中写入:
    //处理以post方式提交的请求
    request.setCharacterEncoding("UTF-8");//post方式处理中文乱码
    String zhanghao=request.getParameter("zhanghao");//获取jsp表单中的数据
    String mima=request.getParameter("mima");
    String mingcheng=request.getParameter("mingcheng");
    String dianhua=request.getParameter("dianhua");
    String youxiang=request.getParameter("youxiang");
    YongHuService yongHuService=new YongHuService();//创建service中的对象
    boolean flag=yongHuService.doSave(zhanghao,mima,mingcheng,dianhua,youxiang);
    if(flag){
    //重定向
    response.sendRedirect("success.jsp");
    }else {
    response.sendRedirect("fail.jsp");
    }

  • 相关阅读:
    Qt double转换成Qstring
    QT 控件ComboBox
    前端web项目打包(二)
    前端Web打包成可执行程序
    div中下拉框无法点击展开跟选中
    div下多个table并排排列
    VS将数据保存在excel表格中
    关于windows下任务栏应用程序标签消失问题的解决办法
    Java8中map()和flatMap()的区别
    Java对象的深拷贝
  • 原文地址:https://www.cnblogs.com/sunda847882651/p/9565649.html
Copyright © 2020-2023  润新知