为什么我直接在servlet里面直接输出message不乱码,而跳转到web页面就出现乱码,而且存到数据库的也是乱码,我尝试了网上的各种方法,还是不成功。。

为什么我直接在servlet里面直接输出message不乱码,而跳转到web页面就出现乱码,而且存到数据库的也是乱码,我尝试了网上的各种方法,还是不成功。。

public class HandleRegister extends HttpServlet
{   public void init(ServletConfig config) throws ServletException{ super.init(config);try {  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");}catch(Exception e){} }public String handleString(String s){   try{ byte bb[]=s.getBytes("iso-8859-1");s=new String(bb);}catch(Exception ee){} return s;  }public  void  doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{   response.setHeader("content-type","text/html;charset=UTF-8");PrintWriter out=response.getWriter();Connection con; PreparedStatement sql;Register reg=new Register(); request.setAttribute("register",reg);String logname=request.getParameter("logname").trim(),password=request.getParameter("password").trim(),sex=request.getParameter("sex").trim(),email=request.getParameter("email").trim(),phone=request.getParameter("phone").trim(),message=request.getParameter("message");message= new String( message.getBytes("ISO-8859-1"),"gb2312");out.println(message);sex= new String( sex.getBytes("ISO-8859-1"),"gb2312");out.println(sex);int age=Integer.parseInt(request.getParameter("age").trim());String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Student";if(logname==null)logname="";if(password==null)password="";boolean isLD=true;for(int i=0;i<logname.length();i++){  char c=logname.charAt(i);if(!((c<='z'&&c>='a')||(c<='Z'&&c>='A')||(c<='9'&&c>='0'))) isLD=false;} boolean boo=logname.length()>0&&password.length()>0&&isLD;String backNews="";try{ con=DriverManager.getConnection(uri,"sa","sa");String insertCondition="INSERT INTO member VALUES (?,?,?,?,?,?,?,?)";sql=con.prepareStatement(insertCondition);if(boo){ sql.setString(1,handleString(logname));sql.setString(2,handleString(password));sql.setString(3,handleString(sex));sql.setInt(4,age);sql.setString(5,phone);sql.setString(6,email);sql.setString(7,handleString(message));sql.setString(8,"public.jpg");int m=sql.executeUpdate();if(m!=0){  backNews="注册成功";reg.setBackNews(backNews);reg.setLogname(logname);reg.setPassword(handleString(password));reg.setAge(age);reg.setSex(handleString(sex));reg.setEmail(handleString(email));reg.setPhone(phone);reg.setMessage(handleString(message));}}else{  backNews="信息填写不完整或名字中有非法字符";reg.setBackNews(backNews);  }con.close();}catch(SQLException exp){  backNews="该会员名已被使用,请您更换名字"+exp;reg.setBackNews(backNews); }RequestDispatcher dispatcher= request.getRequestDispatcher("/ptext/User/showRegisterMess.jsp");dispatcher.forward(request, response);}public  void  doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{   doPost(request,response);}
}

jsp页面:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<%request.setCharacterEncoding("gb2312");%>
</head><BODY><Font size=2>
<CENTER>
<FORM action="helpRegister" name=form method="post">
<BR>输入您的信息,会员名字必须由字母和数字组成,带*号项必须填写。
<table><tr><td>会员名称:</td> <td><Input type=text name="logname" >*</td></tr><tr><td>设置密码:</td><td><Input type=password name="password">*</td></tr><tr><td>性别:</td><td><Input type=radio  name="sex" checked="o" value="男">男<Input type=radio  name="sex" value="女">女</td></tr><tr><td>会员年龄:</td><td><Input type=text name="age" value="0"></td></tr><tr><td>电子邮件:</td><td><Input type=text name="email"></td></tr><tr><td>联系电话:</td><td><Input type=text name="phone"></td></tr></table><table><tr><td>输入您的个人简介:</td></tr><tr><td><TextArea name="message" Rows="6" Cols="30"></TextArea></td></tr><tr><td><Input type=submit name="g" value="提交"></td> </tr>
</table>
</Form></CENTER>
</BODY>
</html>

显示页面:

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<%@ page import="mybean.data.Register"%> 
<jsp:useBean id="register" type="mybean.data.Register" scope="request" />
</head>
<BODY bgcolor=cyan><Font size=2>
<CENTER><Font size=4 color=blue >
<jsp:getProperty name="register"  property="backNews"  /></Font> 
<Font size=2><table><tr><td>注册的会员名称:</td><td><jsp:getProperty name="register" property="logname" /></td></tr><tr><td>注册的性别:</td> <td><jsp:getProperty name="register" property="sex" /></td></tr><tr><td>注册的会员年龄:</td><td><jsp:getProperty name="register" property="age" /></td></tr><tr><td>注册的电子邮件:</td><td><jsp:getProperty name="register" property="email" /></td></tr><tr><td>注册的联系电话:</td><td><jsp:getProperty name="register" property="phone" /></td></tr>
</table><table><tr><td>您输入的个人简介:</td></tr><tr><td><TextArea name="message" Rows="6" Cols="30">
<jsp:getProperty name="register" property="message" /></TextArea></td></tr>
</table>
</FONT></CENTER>
</BODY>
</html>

在这里插入图片描述数据库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CPU 是如何执行任务的?

作者 | 小林coding来源 | 小林coding头图 | 下载于视觉中国前言关于 CPU &#xff0c;你清楚下面这几个问题吗&#xff1f;有了内存&#xff0c;为什么还需要 CPU Cache&#xff1f;CPU 是怎么读写数据的&#xff1f;如何让 CPU 能读取数据更快一些&#xff1f;CPU 伪共享是如何…

@DateTimeFormat和@JsonFormat注解

文章目录一、场景复现1. 准备实体vo2. 定义⼀个Controller3. 请求测试二、⼊参格式化2.1. 日期转换2.2. 请求测试三、 出参格式化3.1. 现象3.2. 改造3.4. 测试验证3.5. 时间少了8小时3.6. 解决方案3.7. 效果图一、场景复现 1. 准备实体vo 定义⼀个pojo&#xff0c;它有⼀个 j…

初学jsp课,一个基于jsp+javabean+servlet+sql server小型房源网站,实现了用户表,房源表,及留言板的增删查改。使用deamwear编译器

1 设计目的 《Web应用开发课程设计》是实践性教学环节之一&#xff0c;是《Web程序设计》课程的辅助教学课程。通过课程设计&#xff0c;使学生掌握Web网站的基本概念&#xff0c;结合实际的操作和设计&#xff0c;巩固课堂教学内容&#xff0c;使学生掌握软件开发的基本概念、…

使用AnalyticDB轻松实现以图搜图和人脸检索

1. 背景 以图搜图在生活中有着广泛的应用, 当我们在电视上看到有人穿着一件美丽的裙子或者帅气的球鞋也想拥有时, 我们可以拍张照片然后打开淘宝然后上传照片就可以快速的找到这个商品. 我们看到一张电影截图想知道出处的时候只要将图片粘贴到百度或者谷歌的图搜框中就可以找到…

年后跳槽季,如何在编程面试中大获成功?

【CSDN 编者按】作为技术人&#xff0c;在面向编程面试之前&#xff0c;应该如何进行相应的准备&#xff1f;作者 | Noj Vek 译者 | 弯月责编 | 屠敏出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;本文的作者经历过100多场面试&#xff0c;而且也担任过50多场面试…

HbuilderX中 华为手机 真机调试

文章目录一、场景浮现1. 真机运行2. 问题描述二、解决方案2.1. 终端设置2.2. 开启开发者模式2.3. 开启USB调试2.4. 连接模式选择2.5. 重新运行2.6. 选择设备2.7. 手机真机调试一、场景浮现 1. 真机运行 直接运行Hbuilder中的“运行”&#xff0c;无法显示对应设备 2. 问题描述…

一云多端,连接万物:智能接入网关2.0升级技术揭秘

一云多端&#xff0c;连接万物&#xff1a;全新发布SAG-APP和SAG-vCPE 阿里云提供了多种产品形态支持各种场景上云&#xff0c;SAG2.0发布了SAG-APP支持各种操作系统的终端接入上云&#xff0c;同时发布了SAG-vCPE支持3rd云资源通过虚拟机或容器环境接入阿里云&#xff0c;本次…

网上购物商城 html+css+MVC+sql server+idea编辑器实现。

最近又找到了jsp学习结束后时&#xff0c;最后做的一个网上购物商城小项目&#xff0c;总体分为用户和管理员两个模块&#xff0c;用户注册之后登录&#xff0c;进行商品浏览加购物车并购买评价&#xff0c;管理员负责商品的增删查改以及订单的发货等等&#xff0c;可以说功能比…

幕享手机投屏

前提&#xff1a;手机电脑连接同一个局域网或者无线网 https://letsview.cn/

通俗的讲,这就是容器CPU隔离的底层实现机制

来源 | 刘超的通俗云计算责编 | 寇雪芹头图 | 下载于视觉中国在真正的生产实践过程中&#xff0c;对于CPU的隔离要求比容器的默认策略要严格的多&#xff0c;因而需要对于Linux内核底层机制有所理解&#xff0c;才能很好的做CPU隔离&#xff0c;甚至在离线业务混合部署隔离等策…

OAM创始团队:揭秘OAMKubernetes实现核心原理

作者 | Andy Shi&#xff08;阿里云高级技术专家&#xff09;、天元&#xff08;阿里云技术专家&#xff09; 今年 5 月&#xff0c;阿里云和微软云共同宣布&#xff0c;Open Application Model &#xff08;OAM&#xff09; 社区携手知名混合云管理项目 Crossplane 社区&…

一文读懂人类信息存储进化史

感兴趣的同学&#xff0c;欢迎点击查看详情哦 在很久很久以前 那个时代语言和文字还没出现 人们的还都是通过“呜呜呜”的方式来进行沟通 但是事情还是得记的 因此“结绳记事”这种方法开始在人群里开始流行 但是&#xff0c;事情总归是越来越多&#xff0c;结也会越来越多 到最…

node+express创建第一个node项目

一、安装nodejs 1.到官网下载nodejs安装包 中文官网地址&#xff1a;http://nodejs.cn/ 英文官网地址&#xff1a;https://nodejs.org/en/ 根据自己的系统和版本&#xff0c;选择下载对应的安装包&#xff01; 下面的安装以windows 64 位系统版本安装包为例&#xff01; 2.双…

听一个内行人讲云原生简史

作者 | 吕建伟责编 | 寇雪芹头图 | 下载于视觉中国引子1999年&#xff0c;发生在我自己身上的几件事&#xff1a;1、买了两张盗版光盘&#xff1a;Sun Solaris OS、红帽Linux。2、正在用COM、MTS&#xff0c;开发三层架构的局域网内的大型企业商用套件&#xff0c;由Windows客户…

一个连续创业者的不破不立——对话阿里云MVP蒋烁淼

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 简介&#xff1a; 他是公认的“湖畔第一大脑”&#xff0c;被王坚院士称为“云计算的试飞员”。跟他聊下来&#xff0c;仿佛上…

node+express项目链接MySQL数据库(最简单版)

nodeexpress项目链接MySQL数据库&#xff08;最简单版&#xff09; &#xff08;假定你nodeexpress项目已创建完成&#xff0c;可参照这里&#xff09; 第一步、安装mysql驱动 npm install mysql --save-dev第二部、创建数据库表 第三部、连接数据库 在app.js下写入以下代码…

阿里云量产50家独角兽前夜

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 在阿里云SaaS加速器出现前后&#xff0c;中国的IT史上其实出现过各式各样的加速器、训练营。究竟在加速什么&#xff1f;怎么…

企业微信_H5应用如何真机调试_host配置及代理相关

文章目录三、手机调试3.1. 代理软件3.2. 安装&#xff0c;启动3.3. 连接无线网3.4. 代理端口3.5. 手机连接无线网3.6. 设置代理3.7. 代理允许3.8. 手机企微登录3.9. 效果图3.10. 代理监控三、手机调试 手机电脑需要连接同一个无线网或者局域网 3.1. 代理软件 下载代理软件 cha…

关于容器底层,超详细的 Namespace 机制讲解

来源 | 多选参数责编 | 寇雪芹头图 | 下载于视觉中国NamespaceLinux Namespace 是 Linux 提供的一种内核级别环境隔离的方法。这种隔离机制和 chroot 很类似&#xff0c;chroot 是把某个目录修改为根目录&#xff0c;从而无法访问外部的内容。Linux Namesapce 在此基础之上&…