简单的登陆注册练习1 登陆

主页

<a href="${pageContext.request.contextPath }/register.jsp">注册</a>
    <a href="${pageContext.request.contextPath }/login.jsp">登陆</a>

注册页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'reg.jsp' starting page</title>

</head>

<body>
    <form action="${pageContext.request.contextPath }/Zhuce" method="post">

        <table border="1" align="center">
            <tr>
                <td>用户名</td>
                <td><input name="username"></td>${name}
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="password" name="password"></td>${pwd }
            </tr>
            <tr>
                <td>确认密码</td>
                <td><input type="password" name="repassword"></td>${repwd }
            </tr>
            <tr>
                <td>生日</td>
                <td><input name="birthday"></td>
            </tr>
            <tr>
                <td>简介</td>
                <td><input name="jj"></td>
            </tr>
            <tr>
                <td><input type="submit" value="注册"></td>
                <td><input type="reset" value="取消"></td>
                <%--<td><a href="${pageContext.request.contextPath }/index.jsp">退出</a></td>
            --%>
            </tr>
        </table>
    </form>
</body>
</html>

注册servlet

这里写代码片
```package cn.servlet;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.dom4j.DocumentException;

import sun.security.util.Password;

import cn.itheimadomain.User1;
import cn.service.User1service;

public class Zhuce extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // 得到提交的数据进行封装到userBean 中
        // post 设置请求编码
        request.setCharacterEncoding("utf-8");
        // 前端校验
        String name = request.getParameter("username");
        String pwd = request.getParameter("password");
        String repwd = request.getParameter("repassword");

        if (!name.matches("\\w{3,6}")) {
            request.setAttribute("name", "用户名不符合要求");
            request.getRequestDispatcher("/reg.jsp").forward(request, response);

            return;
        }
        if (!pwd.matches("\\w{3,6}")) {
            request.setAttribute("pwd", "密码不符合要求");
            request.getRequestDispatcher("/reg.jsp").forward(request, response);
            return;
        }
        if (!pwd.equals(repwd)) {
            request.setAttribute("repwd", "2个密码不一样");
            request.getRequestDispatcher("/reg.jsp").forward(request, response);
            return;
        }

        User1 u = new User1();

        try {
            // 注册一个日期转换器 自定义 类实现Converter 接口
            ConvertUtils.register(new myconver(), Date.class);
            BeanUtils.populate(u, request.getParameterMap());
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }

        // 校验封装成功没有

        Map<String, String> map = u.getmap();
        if(map.size()>0) {//说明有错误信息
            request.setAttribute("cuo", map);
            request.getRequestDispatcher("/reg.jsp").forward(request, response);
            return;
        }

        // 执行添加操作
        User1service us = new User1service();

        try {
            us.add(u);
            // 注册成功
            // 跳转到登陆页面
            response.sendRedirect(request.getContextPath() + "/denglu.jsp");

        } catch (DocumentException e) {
            e.printStackTrace();
            // 走这里添加失败 请求转发回去注册页面提示错误
            request.setAttribute("zc", "注册失败");
            request.getRequestDispatcher("/reg.jsp").forward(request, response);

        }

    }

}

中转站service





<div class="se-preview-section-delimiter"></div>

这里写代码片
“`

package cn.service;

import org.dom4j.DocumentException;

import cn.dao.User1dao;
import cn.itheimadomain.User1;

public class User1service {

    public void add(User1 u) throws DocumentException {
        User1dao ud = new User1dao();
            ud.add(u);
    }

    public User1 find(String name, String pwd) {
        User1dao ud = new User1dao();
    User1   u=ud.find(name,pwd);

        return u;
    }

}

操作数据层dao

package cn.dao;

import java.util.Date;
import java.util.List;

import org.apache.commons.beanutils.converters.DateConverter;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

import cn.itheimadomain.User1;
import cn.util.Datecon;
import cn.util.Dom4jutil;

public class Userdao {

    public void add(User1 u) {

        //写入xml
        Document document = Dom4jutil.getdoc("c:/tt/Xml.xml");
        StringBuilder sb = new StringBuilder();
        sb.append("<usr>").append("<username>").append(u.getUsername()).append("</username>");
        sb.append("<password>").append(u.getPassword()).append("</password>");
        sb.append("<brithday>").append(Datecon.DateToS(u.getBirthday())).append("</brithday>");
        sb.append("<jj>").append(u.getJj()).append("</jj>");

        sb.append("</usr>");
        try {
            Document text = DocumentHelper.parseText(sb.toString());
            Element root = document.getRootElement();
            root.add(text.getRootElement());

        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 



        Dom4jutil.writedoc(document, "c:/tt/Xml.xml");

    }

    public User1 find(String username, String password) {
        Document document = Dom4jutil.getdoc("c:/tt/Xml.xml");

        Element root = document.getRootElement();

        List<Element> list = root.elements();
        User1 u =null;
        for (Element e : list) {
            String name =e.elementText("username");
            String pwd =e.elementText("password");
            if(name.equals(username)&&pwd.equals(password)) {
                u = new User1();
                u.setUsername(name);
                u.setJj(e.elementText("jj"));
                String s1=e.elementText("brithday");
                Date date = Datecon.Stringtod(s1);
                u.setBirthday(date);
            }

        }



        return u;
    }

}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
音频信息的获取与处理 一、知识点 1.声音的数字化表示。 (1).声音的三个要素:音调、音强和音色。 (2)音频文件的常用格式:WAV、MIDI、MP3、VOC、WMA、RM、CDA格式 2.音频信息的采集。 (1)在多媒体计算机中,声卡是获取音频信息的主要器件。 (2)声卡功能:采集来自话筒、收录机等音源的信号,并将其数字化形成数字音频;将数字音频还原为模拟音频信号,待放大后送到扬声器输出;对数字化音频进行编辑加工,以达到某一特殊效果。 以上功能均须通过声卡端口与相应的外部设备相连接起来才能实现。 线路输入(Linein):可与盒式录音机、唱机等相连进行录音。 线路输出(LineOut):可跳过音频卡的内置放大器,连接一个有源扬声器或外接放大器进行音频的输出。 话筒输入(MicIn):可与话筒相连,进行语音录人。 扬声器输出(SpeakerOut):从音频卡内置功率放大器连接扬声器进行输出。 游戏棒/MIDI接口(Joystick/MIDI):可将游戏棒或/MIDI设备连接到音频上。 3.数字音频的加工(CoolEditPro、Windows录音机)。 (1)裁剪声音:将声音中不需要的部分删除,保留需要的部分。 (2)连接声音:将两段声音首尾相接,或者将一段声音插人到另一段声音中间。、 (3)混合声音:将一段声音混合到另一段声音中,使两种声音能够同时听到。 (4)淡入/淡出:声音开始播放时音量由小逐渐变大称为淡人;播放结束时音量由大逐渐变小称为淡出。对声音做淡入/淡出处理,可以避免产生突然开始和突然停止的感觉。 4、数字音频常用的编码有:混合编码、参数编码、波形编码 5、声音的A/D A/D转换的一个关键步骤是声音的采样和量化 可用下面的公式估算声音数字化后每秒所需的存储量(假定不经压缩): 存储量(B)=(采样频率HZ×量化位数bit×声道数)/8 6、MIDI乐器数字接口 二、练习题 1、我们要将录音带上的模拟信号节目存入计算机,使用的设备是( )第四套9 A、显卡 B、声卡 C、网卡 D、光驱 2、采样与量化是数字音频系统中的两个最基本技术,以下正确的是( )第四套4 A、48KHZ是量化 B、16bit是量化 C、8bit比16bit质量高 D、16KHZ比48KHZ质量高 3、以下哪种不是音频文件( ) A RM B MIDI C WMA D SWF 4、以下哪种不是音频格式文件( ) A TGA B WMA C MP3 D WAV 5.关于MIDI音乐,说法不正确的是( ) A. MIDI是乐器数字化英文的缩写 B.MIDI记录的不是声波本身的数 C.MIDI音乐文件的容量比数字音乐文件的容量大 D.创作MIDI音乐,需要软件 6、Cool Edit Pro软件可以进行( ) A 、视频编辑  B、图像浏览 C、音频编辑 D、文字编辑 7、以下不是数字音频常用的编码是( ) A、混合编码 B、参数编码 C、波形编码 D、模拟编码 8、班级活动利用Windows系统提供的“录音机”录制学生朗诵的诗歌时,除了计算机外,至少还需( ) A、话筒  B、扫描仪  C、打印机  D、耳机(不含话筒) 9、利用MIDI设备输入的是一种(   ) A 、视频格式文件  B、压缩格式声音 C、模拟化声音 D、数字化声音 10、以下不是MIDI设备的是( ) A 、话筒  B、MIDI接口  C、合成器  D、音序器 11.Cool edit Pro软件可以编辑 ( ) A、音频和视频 B、音频 C、文字 D、图像 12、以下文件类型中,( )是音频格式。第一套14(综合分析题) (1).WAV (2).MP3 (3).BMP (4).JPG A、(1)和(2) B、(1)和(3) C、(2)和(4) D、(2)和(3) 13、以下( )是Windows的通用声音格式。第二套14(综合分析题) A、WAV B、MP3 C、BMP D、CAD 14、下列要素中( )不属于声音的三要素 第三套14(综合分析题) A、音调 B、音色 C、音律 D、音强 15、用Cool Edit Pro2.1软件编辑声音文件时,下列说法正确的是:( )多选 A、可以方便地对音频进行准确的剪切、粘贴处理,可以把后面的内容剪切后贴到前面,调整了原有的顺序,也称非线编 B、可以将不同的声音文件合成为一个,如将诗歌朗诵的声音文件与一剪梅音乐文件合并 C、不可以调整声音的高低 D、可以直接打开视频文件,对其中的声音进行编辑 16、如果CD音质的采样频率为44.1KHZ,量化位数为16bit,那么,一首4分钟的CD双声道立体声音乐的数据长度是多少?( ) A、40.4MB B、35MB C、39.7MB D、42MB 17、在数字音频信息获取与处理过程中,下列顺序正确的是( )。第一套13(综合分析题) A、A/D变换、采样、压缩、存储、解压缩、D/A变换 B、采样、压缩、A/D变换、存储、解压缩、D/A变换 C、采样、A/D变换、压缩、存储、解压缩、D/A变换 D、采样、D/A变换、压缩、存储、解压缩、A/D变换 18、下列采集的波形声音,( )的质量最好。第二套13(综合分析题) A、单声道、8位量化、22.05kHz采样频率 B、双声道、8位量化、44.1kHz采样频率 C、单声道、16位量化、22.05kHz采样频率 D、双声道、16位量化、44.1kHz采样频率 19、数字音频采样和量化过程所用的主要硬件是( )第五套4、第三套13(综合分析题) A、数字编码器 B、数字解码器 C、模拟到数字的转换器(a/d转换器) D、数字到模拟的转换器(d / a转换器) 20、录制声音的方法很多,.如用windows录音机录制声音,用录音笔录制或用软件录制等。一般情况下,一次性录制时,录制时间最短的是( ) . a) windows录音机录制 b) 录音笔录制 c) cooledit软件录制 d)磁带录音机录制 21、用cooledit pro2.1软件编辑声音文件时,若要删除某段内容时,在选好该部分后,不能使用下列哪些方法删除( ) a) 按delete键 b) 用退格键 c) 用快捷菜单中的cut命令 d) 用工具栏上的剪切按钮 22、下列方法中( )可以获得数字音频素材? (1)从CD-ROM音频库中获取MIDI音乐 (2)用Windows中的CD播放器录音 (3)用磁带录音机 (4)用MIDI作曲软件制作MIDI音乐 A、(1)(2)(4) B、(2)(4) C、(1)(3) D、全部

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值