在mysql数据库中传入中文字符,并实现正常显示

合集下载

中文字符问题解决方案

中文字符问题解决方案

中文字符问题解决方案中文字符问题是指在一些特定的环境下,处理中文字符出现乱码的情况。

解决这个问题的方法有以下几种:1. 使用正确的字符编码。

中文字符通常采用UTF-8编码,对于显示中文字符的场景,如网页、文档编辑器等,需要设置正确的字符编码,才能正确显示中文字符。

使用UTF-8编码可以保证兼容性和正确显示中文字符。

2. 修改文本文件的编码方式。

当我们打开一个文本文件,发现其中的中文字符显示为乱码时,可以尝试修改文件的编码方式来解决这个问题。

常见的文本文件编码方式有ANSI、UTF-8、UTF-16等,可以通过文本编辑器或专业的编码转换工具来修改文本文件的编码方式。

3. 修改数据库的字符编码。

当我们在数据库中存储和读取中文字符时出现乱码问题,可以尝试修改数据库的字符编码。

常见的数据库字符编码包括UTF-8、GBK、GB2312等,根据具体情况选择合适的字符编码,可以通过修改数据库配置文件、执行数据库命令等方式来修改数据库的字符编码。

4. 避免混合使用不同编码方式。

在一些场景下,可能会涉及到多个系统或工具之间的数据交互,为了避免中文字符出现乱码问题,需要确保所有涉及到中文字符的系统或工具使用相同的字符编码方式,避免混合使用不同编码方式导致的乱码问题。

5. 使用专业的中文字符处理工具。

针对中文字符问题,有一些专门的工具可以进行处理,例如编码转换工具、乱码检测工具等。

这些工具可以帮助我们识别和解决中文字符乱码的问题,提高处理效率和准确性。

总的来说,解决中文字符问题需要根据具体情况采取相应的解决方案,包括设置正确的字符编码、修改文本文件或数据库的编码方式,避免混合使用不同编码方式等。

同时,借助专业的中文字符处理工具可以提高解决问题的效率和准确性。

mysql数据库乱码问题

mysql数据库乱码问题

数据库读出乱码解决一、分析常见数据库问题修改MYSQL数据库,数据表,字段的编码(解决JSP乱码)要解决JSP乱码,首先就要了解JSP乱码的原因1.架设服务器安装MYSQL时的会让你选择一种编码,如果这种编码与你的网页不一致,可能就会造成JSP页面乱码2.在PHPMYADMIN或mysql-front等系统创建数据库时会让你选择一种编码,如果这种编码与你的网页不一致,也有可能造成JSP页面乱码3.创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成JSP页面乱码4.创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成JSP 页面乱码5.用户提交JSP页面的编码与显示数据的JSP页面编码不一致,就肯定会造成JSP页面乱码.如用户输入资料的JSP页面是big5码,显示用户输入的JSP页面却是gb2312,这种100%会造成JSP页面乱码6.字符集不正确要注意:1.平时你在某些网站看到的文字可能有几种编码,如你看到一个繁体字,它有可能是big5编码,也有可能是utf-8编码的,更有可能是gb码的,没错,也就是说有简体编码的繁体字,也有繁体编码的简体字,一定要了解这一点.如果你是做一个简体编码的网页,编码定为GB2312,如果有香港和台湾地区的访客提交繁体的信息,就可能会造成乱码,解决方法就是(1)将网站编码设为utf-8,这样可以兼容世界上所有字符,(2)如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,那么建议将页面的编码设为GBK,GBK与GB2312的区别就在于:GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK7.JSP连接MYSQL数据库语句指定的编码不正确8.JSP页面没有指定数据提交的编码,就会造成乱码:所以,JSP乱码的原因无非就是以上几种,知道原因之后,要解决JSP乱码的方法也容易多了我们一一来表达:1.如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题2.修改数据库编码,如果是数据库编码不正确:可以在phpmyadmin执行如下命令:ALTER DATABASE`test`DEFAULT CHARACTER SET utf8COLLATE utf8_bin以上命令就是将test数据库的编码设为utf83.修改表的编码:ALTER TABLE`category`DEFAULT CHARACTER SET utf8COLLATE utf8_bin以上命令就是将一个表category的编码改为utf84.修改字段的编码:ALTER TABLE`test`CHANGE`dd``dd`VARCHAR(45)CHARACTER SET utf8COLLATEutf8_bin NOT NULL以上命令就是将test表中dd的字段编码改为utf85.如果是这种情况容易解决,只需检查下页面,修改源文件的charset即可,//这个正确就无问题了6.这种情况也是修改页面charset即可,7.在JSP连接数据库的语句中,private String url="jdbc:mysql://localhost/"+DB_NAME+"user="+LOGIN_NAME+"&password="+LOGIN_PASSWORD+"&characterEncoding=GBK";//相键要看characterEncoding8.这种乱码的情况,只需在页面开头加上request.setCharacterEncoding("GBK");指定提交的即可注意:按照以上方法修改以后只能保证你新插入的数据不会乱码,举个例:如果你用户已提交的数据是BIG5,你却想通过以上方法改为可以在GB2312的网页正确显示是不可能的,这种文字内码的变换只能通过另写程序来解决,请其它相关文章总结:先要判断JSP乱码是插入数据库之后乱码,还是JSP页面刚提交过来就乱码了,如果JSP 刚接收上一页面的数据显示就乱码了,肯定是字符集不对,可者没有加request.setCharacterEncoding("GBK");如果是数据库的原因就参考上面的2,3,4种方法可能是编码问题这样连接一下数据库看看jdbc:mysql://localhost:3306/xxxx useUnicode=true&characterEncoding=UTF-8看看能否有效果二、乱码案例使用MYSQL数据库,用JSP去连接结果发现出了很多问题,主要集中在乱码显示上面,实际开发中,想必这类问题是见怪不怪了。

JSP+MySQL中文乱码问题post提交乱码解决方案

JSP+MySQL中文乱码问题post提交乱码解决方案

JSP+MySQL中⽂乱码问题post提交乱码解决⽅案写了两个jsp页⾯index.jsp和mysql_insert.jsp。

数据处理流程为:在浏览器(chrome)上访问index.jsp后在其表单上输⼊数据,提交⾄mysql_insert.jsp,mysql_insert.jsp⾸先将接收到的数据按变量存⼊MySQL的html_db数据库的person_tb中(该表原有部分数据),然后mysql_insert.jsp再拿出该表中所有数据显⽰在mysql_insert.jsp页⾯上。

现在发现,当提交的数据中含有中⽂(⽐如变量姓名的值为中⽂)时,mysql_insert.jsp页⾯上显⽰新增的那条记录中的相应中⽂(姓名的值)乱码,其他数据都显⽰正常,查看数据库,发现也是相应的含有中⽂的变量值(姓名的值)乱码。

乱码情况如下图:index.jsp中第⼀⾏有语句:<%@ page contentType="text/html;charset=gb2312"%> ,在浏览器(chrome)中访问此页⾯时⽆乱码(主要指中⽂乱码,英⽂乱码现象还没遇见过)。

(试过将gb2312换成utf-8,访问后中⽂乱码)mysql_insert.jsp中第⼀⾏有语句:<%@page language="java" pageEncoding="UTF-8"%>,在浏览器中直接访问此页⾯时⽆乱码。

mysql_insert.jsp页⾯的代码如下:复制代码代码如下:<%@page language="java" pageEncoding="UTF-8"%><%@ page import="java.sql.*" %><HTML><HEAD><TITLE>add message into table </TITLE></HEAD><BODY><%String id=request.getParameter("id"); //从表单获得String name=request.getParameter("name"); //从表单获得String sex=request.getParameter("sex"); //从表单获得String age=request.getParameter("age"); //从表单获得try{/** 连接数据库参数 **/String driverName = "com.mysql.jdbc.Driver"; //驱动名称String DBUser = "root"; //mysql⽤户名String DBPasswd = "123456"; //mysql密码String DBName = "html_db"; //数据库名String connUrl = "jdbc:mysql://localhost/" + DBName + "?user=" + DBUser + "&password=" + DBPasswd;Class.forName(driverName).newInstance();Connection conn = DriverManager.getConnection(connUrl);Statement stmt = conn.createStatement();stmt.executeQuery("SET NAMES UTF8");String insert_sql = "insert into person_tb values('" + id + "','" + name + "','" + sex + "','" + age + "')";String query_sql = "select * from person_tb";try {stmt.execute(insert_sql);}catch(Exception e) {e.printStackTrace();}try {ResultSet rs = stmt.executeQuery(query_sql);while(rs.next()) {%>ID:<%=rs.getString("id")%> </br>姓名:<%=rs.getString("name")%> </br>性别:<%=rs.getString("sex")%> </br>年龄:<%=rs.getString("age")%> </br> </br><%}}catch(Exception e) {e.printStackTrace();}//rs.close();stmt.close();conn.close();}catch (Exception e) {e.printStackTrace();}%></body></html>我的数据库设置的是全部使⽤UTF-8编码,如下图:我的虚拟⽬录下的web.xml内容如下:tomcat/conf⽬录下的server.xml⽂件的内容如下:复制代码代码如下:<U><?xml version='1.0' encoding='utf-8'?></U><Server port="8005" shutdown="SHUTDOWN"><Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JasperListener" /><Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <GlobalNamingResources><Resource name="UserDatabase" auth="Container"type="erDatabase"description="User database that can be updated and saved"factory="ers.MemoryUserDatabaseFactory"pathname="conf/tomcat-users.xml" /></GlobalNamingResources><Service name="Catalina"><Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /><Engine name="Catalina" defaultHost="localhost"><Realm className="org.apache.catalina.realm.LockOutRealm"><Realm className="erDatabaseRealm" resourceName="UserDatabase"/></Realm><Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt"pattern="%h %l %u %t "%r" %s %b" /></Host></Engine></Service></Server>tomcat/conf⽬录下web.xml⽂件的主要内容如下:复制代码代码如下:<U><?xml version="1.0" encoding="UTF-8"?></U><web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"version="3.0"><servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>false</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet><servlet-name>jsp</servlet-name><servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class><init-param><param-name>fork</param-name><param-value>false</param-value></init-param><init-param><param-name>xpoweredBy</param-name><param-value>false</param-value></init-param><load-on-startup>3</load-on-startup></servlet><servlet-mapping><servlet-name>default</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- The mappings for the JSP servlet --><servlet-mapping><servlet-name>jsp</servlet-name><url-pattern>*.jsp</url-pattern><url-pattern>*.jspx</url-pattern></servlet-mapping><session-config><session-timeout>30</session-timeout></session-config><此处省略了mime-mapping的内容><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>现在我能想到的设置编码的地⽅也就只有这么多了,其他还有哪⾥需要设置编码?恳求指导。

MySQL中的连接字符串和连接选项配置

MySQL中的连接字符串和连接选项配置

MySQL中的连接字符串和连接选项配置在数据库应用程序中,连接到数据库是一个重要的步骤,连接字符串和连接选项配置是实现这一步骤的关键。

MySQL作为一种流行的关系型数据库管理系统(RDBMS),提供了丰富的连接字符串和连接选项配置功能,使得开发人员能够更好地控制和管理数据库连接。

连接字符串是用于指定数据库连接的字符串参数,包括数据库的地址、端口号、用户名、密码等信息。

连接选项配置是一组用于优化和调整数据库连接行为的参数,包括连接池大小、读写超时时间、字符编码等设置。

本文将详细介绍MySQL中连接字符串和连接选项配置的相关知识,希望能够帮助读者更好地理解和应用。

一、连接字符串连接字符串是用于指定数据库连接的字符串参数,它可以根据实际需求来设置不同的参数,以满足不同的数据库连接使用场景。

常见的连接字符串包括以下几个部分:1. 数据库地址数据库地址是指数据库服务器的地址和端口号,格式为"host:port"。

例如,localhost:3306表示连接到本地MySQL服务器的默认端口。

2. 用户名和密码用户名和密码是用于数据库身份验证的凭据,格式为"username:password"。

例如,root:123456表示使用用户名root和密码123456进行身份验证。

3. 数据库名称数据库名称是指要连接的数据库的名称,格式为"dbname"。

例如,mydatabase表示连接到名为mydatabase的数据库。

4. 字符编码字符编码是指数据库中存储的字符数据的编码格式,常用的编码格式包括UTF-8、GBK等。

可以通过设置字符编码来确保数据的正确存储和读取。

5. 其他可选参数除了上述基本参数外,连接字符串还可以包含其他可选参数,用于进一步优化和调整数据库连接行为。

例如,可以设置连接超时时间、读写超时时间、连接池大小等参数。

二、连接选项配置连接选项配置是一组用于优化和调整数据库连接行为的参数,可以通过连接字符串的方式进行配置。

.sql导入中文显示乱码解决方法

.sql导入中文显示乱码解决方法

.sql导⼊中⽂显⽰乱码解决⽅法
我是⽤的最后⼀种⽅法,前⾯三种解决MYSQL导⼊数据乱码的⽅法没试过,东莞SEO推荐⼤家直接使⽤第四种⽅法处理MYSQL导⼊中⽂数据时的乱码问题。

⾸先在新建数据库时⼀定要注意⽣成原数据库相同的编码形式,如果已经⽣成可以⽤phpmyadmin等⼯具再整理⼀次,防⽌数据库编码和表的编码不统⼀造成乱码。

⽅法⼀: 通过增加参数 –default-character-set = utf8 解决乱码问题
mysql -u root -p password < path_to_import_file –default-character-set = utf8
⽅法⼆: 在命令⾏导⼊乱码解决
1. use database_name;
2. set names utf8; (或其他需要的编码)
3. source example.sql (sql⽂件存放路径)
⽅法三: 直接粘贴sql⽂件⾥的代码
1. 打开SQLyog客户端软件;
2. 定位到SQL编辑器,然后⽤记事本打开刚刚导出的SQL⽂件;
3. 复制⽂件中所有SQL语句到SQL编辑器当中,执⾏这些SQL代码;
⽅法四: ⽤记事本或其他⽂本⼯具改变SQL⽂件的编码格式(若⽅法三不⾏,那就尝试⽅法四)
1. ⽤记事本(或UE)打开刚才的导出的SQL⽂件;
2. 另存此⽂件——打开另存为对话框,选择对话框中的编码格式为UNICODE编码;
3. 保存⽂件,然后CTRL+A,全选;
4. 复制⾥⾯的SQL语句到SQLyog中的“SQL编码器”当中,再执⾏⼀次SQL语句;
5. 执⾏完成后切记刷新⼀次,查看中⽂的数据表,乱码消除,⼤功告成;。

MySQL中文乱码问题的解决方法

MySQL中文乱码问题的解决方法

MySQL中文乱码问题的解决方法在使用MySQL数据库过程中,经常会遇到中文乱码的问题。

这是由于MySQL默认使用的字符集是Latin1,而大部分中文系统使用的是UTF-8字符集所致。

本文将介绍在MySQL中解决中文乱码问题的几种方法。

一、修改MySQL配置文件MySQL配置文件(f)是MySQL服务器的设置文件,通过修改该文件可以改变MySQL的默认字符集。

在Linux系统中,该文件通常位于/etc/mysql/f或者/etc/f。

在Windows系统中,该文件通常位于MySQL安装目录下的my.ini文件。

步骤如下:1. 找到f或my.ini文件并打开。

2. 在[mysqld]部分添加或修改以下内容:```[mysqld]character-set-server=utf8collation-server=utf8_general_ci```3. 保存文件并重启MySQL服务。

二、修改数据库、数据表、字段字符集如果修改MySQL配置文件没有解决中文乱码问题,可以尝试直接修改数据库、数据表、字段字符集。

1. 修改数据库字符集可以使用ALTER DATABASE语句修改数据库的字符集。

例如:```ALTER DATABASE database_name CHARACTER SET utf8 COLLATEutf8_general_ci;```2. 修改数据表字符集可以使用ALTER TABLE语句修改数据表的字符集。

例如:```ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;```3. 修改字段字符集可以使用ALTER TABLE语句修改字段的字符集。

例如:```ALTER TABLE table_name MODIFY column_name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci;```其中,table_name为表名,column_name为字段名。

mysql设置编码格式--支持中文

mysql设置编码格式--支持中文

mysql设置编码格式--支持中文
创建table的时候就使用utf8编码
在每次创建表的时候都在最后加上 character set = utf8就可以很好的支持中文
create table xxx (
id int auto_increment,
title text,
content text,
posted_on datetime,
primary key (id)
) character set = utf8;
修改已经有的table的编码
当使用默认编码创建了一个table的时候,是不能支持中文的,这时候使用如下语句对table_name进行修改:
alter table table_name convert to character set utf8;
此后再往这个table插入中文的时候,就可以正常存储和读取了,但不知道为什么之前的乱码还是不能纠正,只能新插入的数据没有问题。

修改table中一个column的编码
alter table 表名modify 要修改的字段字段类型character set utf8;
即使是修改table某个字段的编码,也没有做到让之前的乱码变成中文。

查看一个database,一个table的编码
show create database 表名;
高版本的mysql默认就是utf-8,低版本的才会出现这种情况,我的也是这样,使用低版本时默认的是latin1。

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

关于Mysql中⽂乱码问题该如何解决(乱码问题完美解决⽅案)最近两天做项⽬总是被乱码问题困扰着,这不刚把mysql中⽂乱码问题解决了,下⾯⼩编把我的解决⽅案分享给⼤家,供⼤家参考,也⽅便以后⾃⼰查阅。

⾸先:⽤show variables like “%colla%”;show varables like “%char%”;这两条命令查看数据库与服务端的字符集设置如果查看出来都是gbk2312,或 gbk,那么就只能⽀持简体中⽂,繁体和⼀些特殊符号是不能插⼊的,我们只有修改字符集为UTF-8,修改⽅法如下:⽤记事本或UitraEdit打开mysql数据库安装⽬录下的my.ini⽂件打开,然后Ctrl+F搜索default-character-set,将后⾯的字符集修改为UTF8,注意要修改两个地⽅,⼀个事客户端的,⼀个是服务端的。

然后保存,重启mysql服务、、进去继续⽤show variables like “%colla%”;show varables like “%char%”;着两条语句查询⼀下字符集。

如图:到此就配置完成了。

注意:如果以前建有数据库没有删除的请⽤ show database 数据库名;和 show create table 表名;查看⼀下数据库和表的字符集是否为UTF8 ,因为修改my.ini⽂件,它不能修改原来数据库的的字符集。

在命令⾏下⾯可以⽤alter database 数据库名 character set “字符集”;命令来修改数据库字符集还有⼀点要注意的是,修改为UTF8以后,在命令⾏下⾯中⽂是乱码的,只输出到页⾯或控制台是正常的,这个问题我也上⽹查了⼀下,貌似命令⾏下⾯不⽀持UTF8,我也不太清楚。

当修改以后,在命令⾏下⾯如果要插⼊中⽂,可以在插⼊语句之前执⾏,set names gbk2312;就可以插⼊中⽂了,但是不能插⼊繁体和⼀些特殊符号。

以上就是这⼏天解决乱码的成果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在mysql中输入中文应做的正确操作1.在安装mysql后要将C:\Program Files\MySQL\MySQL Server 5.5中的my.ini文件中的两个default-character-set的值设为default-character-set=gbk2.在创建mysql数据库时要进行如下创建GBK: create database test2 DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;UTF8: CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8 COLLATEutf8_general_ci;数据库中的语名如下CREATE DATABASE `zhuce` /*!40100 DEFAULT CHARACTER SET gbk */;CREATE TABLE `tb_user` (`Id` int(11) NOT NULL AUTO_INCREMENT,`username` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '用户名',`password` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '密码',`sex` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '性别',`question` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '密码问题',`answer` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '密码答案',`email` varchar(45) CHARACTER SET gbk DEFAULT NULL COMMENT '邮箱',PRIMARY KEY (`Id`)) ENGINE=InnoDB DEFAULT CHARSET=gbk;2.创建字符编码servletCharacterEncodingFilterpackage admin.jichupeizhi.zifu;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;/*** 字符编码过滤器* @author Li Zhong Wei*/public class CharacterEncodingFilter implements Filter{// 字符编码(初始化参数)protected String encoding = null;// FilterConfig对象protected FilterConfig filterConfig = null;// 初始化方法public void init(FilterConfig filterConfig) throws ServletException {// 对filterConfig赋值t his.filterConfig = filterConfig;// 对初始化参数赋值this.encoding = filterConfig.getInitParameter("encoding");}// 过滤器处理方法public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // 判断字符编码是否有效i f (encoding != null) {// 设置request字符编码request.setCharacterEncoding(encoding);// 设置response字符编码response.setContentType("text/html; charset="+encoding);}// 传递给下一过滤器chain.doFilter(request, response);}// 销毁方法public void destroy() {// 释放资源this.encoding = null;this.filterConfig = null;}}3.在web.xm中调用<!-- 声明字符编码过滤器 --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>admin.jichupeizhi.zifu.CharacterEncodingFilter</fil ter-class><!-- 设置初始化参数 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><!-- 映射字符编码过滤器 --><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><!-- 与所有请求关联 --><url-pattern>/*</url-pattern><!-- 设置过滤器对应的请求方式 --><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping>4.在数据库连接中的代码import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class RegServlet extends HttpServlet {private static final long serialVersionUID = 1789481329876401944L;// 数据库连接Connectionprivate Connection conn;// 初始化方法public void init() throws ServletException {super.init();try {// 加载驱动Class.forName("com.mysql.jdbc.Driver");// 数据库连接urlString url ="jdbc:mysql://localhost:3306/zhuce?useUnicode=true&characterEncoding= GBK";// 获取数据库连接conn = DriverManager.getConnection(url, "root", "111");} catch (Exception e) {e.printStackTrace();}}// doPost()方法处理注册请求public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 设置request与response的编码response.setContentType("text/html");request.setCharacterEncoding("GBK");response.setCharacterEncoding("GBK");// 获取表单中属性值String username = request.getParameter("username");String password = request.getParameter("password");String sex = request.getParameter("sex");String question = request.getParameter("question");String answer = request.getParameter("answer");String email = request.getParameter("email");String dianhua = request.getParameter("dianhua");String shouji = request.getParameter("shouji");String wangkadizhi = request.getParameter("wangkadizhi");String xueli = request.getParameter("xueli");// 判断数据库中否连接成功if (conn != null) {try {// 插入注册信息的SQL语句(使用?占位符)String sql = "insert intotb_user(username,password,sex,question,answer,email,dianhua,shouji,wa ngkadizhi,xueli) "+ "values(?,?,?,?,?,?,?,?,?,?)";// 创建PreparedStatement对象PreparedStatement ps = conn.prepareStatement(sql);// 对SQL语句中的参数动态赋值ps.setString(1, username);ps.setString(2, password);ps.setString(3, sex);ps.setString(4, question);ps.setString(5, answer);ps.setString(6, email);ps.setString(7, dianhua);ps.setString(8, shouji);ps.setString(9, wangkadizhi);ps.setString(10, xueli);// 执行更新操作ps.executeUpdate();// 获取PrintWriter对象PrintWriter out = response.getWriter();// 输出注册结果信息out.print("<h1 aling='center'>");out.print(username + "注册成功!");out.print("</h1>");out.flush();out.close();} catch (Exception e) {e.printStackTrace();}} else {// 发送数据库连接错误提示信息response.sendError(500, "数据库连接错误!");}}}5.在mysql-front软件中5中jsp文件中要写入<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>。

相关文档
最新文档