#1.表单包含有中文参数值,如何处理?

##(1)为什么会有乱码?

    表单提交时,浏览器会对中文参数值进行编码/

    注:会按照表单所有的页面打开时所使用的字符集进行编码

    比如,浏览器会使用utf-8对中文参数值进行解码,而服务器端默认会使用iso-8859-1来解码

    所以会产生乱码

##(2)如何解决?

###get请求

<connector uriencoding="utf-8">

  注:如果是tomcat8以上的版本,可以不加.只针对get请求有效

#2.如何获得请求参数值

##(1)方式一

  string request.getparameter(string paramName)

  注:

    a.如果请求参数名不存在,返回null

    b.表单中的文本输入框,密码输入框,如果不填写任何数据,会获得"".(空字符串)

##(2)方式二:

  string[ ] request.getparametervalues(string pararname)

  注:

    a.当有多个请求参数名相同的时候,使用该方法

    b.对于多选框,如果一个都不选,会返回null值

create table user(id primary key auto_increment;username varchar(10);password varchar(10);telphone varchar(10);e-mail varchar(10) );

涉及到web服务器与后端的数据库交互

(1)addUser.html--------网页

(2)AddUserServlet.java----Servlet业务逻辑--创建一个Java类并继承HttpServlet,在类中重写service方法,在方法中书写返回数据相关代码   request.getParameter(String paraName)

(3)ListUserServlet.java-----Servlet业务逻辑

(4)web.xml--------描叙配置文件

(5)User.java----------实体类 (字段以及字段的set,get方法)------该类的结构与表对应

(6)UserDAO.java--------Data Access Object 数据访问对象,里面写所有和jdbc相关的代码

(7)DBUtils.java-------数据库工具类

(8)jdbc.properties(Libraries)------属性配置文件中的数据

为什么使用*.properties:之前写法是把数据库连接信息硬编码的形式写死在.java类中,如果需要修改,必须去java类中找到相对应的代码,这种方式需要工作人员了解代码,使用Properties后可以把数据库连接信息写在配置文件中,修改时不需要关注代码的问题。

UserDAO.java------任何异常都要做的两件事:

1.记日志

2.DAO.java不与用户交互,所以需要抛出异常

step1 建表

step2 导包

step3 实体类

step4 DAO类

step5 在Servlet类中调用DAO提供的方法

UserDAO dao = new UserDAO();
User user = new User();

    

创建servlet程序知识点详解---servlet-day03的更多相关文章

  1. 创建servlet程序知识点详解---servlet-day01

    方法调用完后,其中的所有局部变量都会消失 ###网络架构 -CS:Client Server  客户端服务器 特点:每种平台都需要开发相对应的app, 开发成本高  功能升级需要下载最新的客户端,用户 ...

  2. 创建servlet程序知识点详解---servlet-day05

    jdbc.properties怎么写? 把秘密改为自己电脑设置的 password url 3306 是安装mysql时所确定的端口  后面还可以接字符集的限定 #1 jsp是什么?(java ser ...

  3. 创建servlet程序知识点详解---servlet-day12

    自定义标签 (1)编程步骤 step1 jsp标签分为复杂标签技术(old),简单标签(new) 注(了解) jsp标签技术分为复杂标签技术(old),简单标签技术(new) step2 ###MVC ...

  4. 创建servlet程序知识点详解---servlet-day07

    情景1: 京东在买东西的时候,只有结帐的时候才会要求必须登录账户 #1.状态管理 ##(1)什么是状态管理? 将浏览器与web服务器之间多次交互当做一个整体来处理,并且将多次交互所涉及的数据(即状态) ...

  5. 嵌入式Linux应用程序开发详解------(创建守护进程)

    嵌入式Linux应用程序开发详解 华清远见 本文只是阅读文摘. 创建一个守护进程的步骤: 1.创建一个子进程,然后退出父进程: 2.在子进程中使用创建新会话---setsid(): 3.改变当前工作目 ...

  6. Activity知识点详解

    Activity知识点详解 一.什么是Activity 官方解释: The Activity class is a crucial component of an Android app, and t ...

  7. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  8. VS2010开发程序打包详解

    VS2010开发程序打包详解 转自:http://blog.sina.com.cn/s/blog_473b385101019ufr.html 首先打开已经完成的工程,如图: 下面开始制作安装程序包. ...

  9. Java线程创建形式 Thread构造详解 多线程中篇(五)

    Thread作为线程的抽象,Thread的实例用于描述线程,对线程的操纵,就是对Thread实例对象的管理与控制. 创建一个线程这个问题,也就转换为如何构造一个正确的Thread对象. 构造方法列表 ...

随机推荐

  1. 【QT】QT更改构建目录

    菜单“工具”-“选项”. Qt Creator怎样更改默认构建目录_百度经验 https://jingyan.baidu.com/article/6181c3e0b9d170152ef153af.ht ...

  2. Java-IO基础类回忆

    好记性不如烂笔头,就拿Java IO来说吧,这部分的基础类我大学都已经学过一遍了,但是现在忘记的差不多了,所以准备写一篇博客,讲这些东西都回忆一下,并且整理一下. 首先借用网上的一张图: 纵向分为字节 ...

  3. JavaSE 类继承中函数重写

    (1) /** * 继承时重写方法的返回类型可以不一样 * 这时的返回值类型必须是与父类相同或者为子类. */ class A { public Object func(){ return null; ...

  4. R 540

    好久没写题解了嘻嘻嘻,昨天补edu自闭了一天还没补完fg这div3令人愉悦. A: #include <bits/stdc++.h> #define mk(a,b) make_pair(a ...

  5. react+dva+antd项目构建

    一:版本升级 首先说明一下这里的dva是最新版: 2.3.2 1.初始化项目构建 npm install dva-cli -g dva -v dva-cli version 注:通过 npm 安装 d ...

  6. js获取谷歌浏览器版本 和 js分辨不同浏览器

    // 获取谷歌版本 function getChromeVersion() { var arr = navigator.userAgent.split(' '); var chromeVersion ...

  7. Exception in thread "main" org.apache.hadoop.security.AccessControlException: Permission denied: user=lenovo, access=WRITE, inode="/user/hadoop/spark/people_savemode_test/_temporary/0":hadoop:supergro

    保存文件时权限被拒绝 曾经踩过的坑: 保存结果到hdfs上没有写的权限 通过修改权限将文件写入到指定的目录下 * * * $HADOOP_HOME/bin/hdfs dfs -chmod 777 /u ...

  8. day12 十二、开放封闭、装饰器

    一.nonlocal关键词 # global # num = # def fn(): # global num # L>G 将局部的名字与全局统一 # num = # fn() # print( ...

  9. C# 封装winio.dll 驱动级按键鼠标操作模拟

    using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices ...

  10. 自定制property

    class Lazyproperty: def __init__(self, func): self.func = func def __get__(self, instance, owner): p ...