Web开发基础_Servlet学习_0005_Servlet处理中文乱码

乱码问题

案例演示:

工程案例目录结构

 pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.study</groupId>
  <artifactId>Servlet02</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <dependencies>
  	<dependency>
  		<groupId>javaee</groupId>
  		<artifactId>javaee-api</artifactId>
  		<version>5</version>
  	</dependency>
  </dependencies>
</project>

 register.html:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>注册</title>
	</head>
	<body>
		<!-- 
			绝对路径:
				/Servlet02/register
			相对路径:
				当前:/Servlet02/register.html
				目标:/Servlet02/register
		 -->
		<form action="register" method="post">
			<p>
				账户:<input type="text" name="code"/>
			</p>
			<p>
				密码:<input type="password" name="pwd" />
			</p>
			<p>
				性别:
				<input type="radio" name="sex" value="M"/>男
				<input type="radio" name="sex" value="F"/>女
			</p>
			<p>
				兴趣:
				<input type="checkbox" name="interest" value="basketball"/>篮球
				<input type="checkbox" name="interest" value="football"/>足球
				<input type="checkbox" name="interest" value="tableball"/>桌球
			</p>
			<p>
				<input type="submit" value="注册"/>
			</p>
		</form>
	
	</body>
</html>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <display-name>Servlet02</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <servlet>
  	<servlet-name>register</servlet-name>
  	<servlet-class>web.RegisterServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>register</servlet-name>
  	<url-pattern>/register</url-pattern>
  </servlet-mapping>
</web-app>

 RegisterServlet.java

package web;

import java.io.IOException;
import java.io.PrintWriter;

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

public class RegisterServlet extends HttpServlet{

	@Override
	protected void service(HttpServletRequest req, 
			HttpServletResponse res) throws ServletException, IOException {
		//req.setCharacterEncoding("utf-8");
		//通过request获取请求数据
		//getParameter(name) -> String
		//getParameterValues(name) -> String[]
		String code = req.getParameter("code");
		String pwd = req.getParameter("pwd");
		String sex = req.getParameter("sex");
		String[] interests = req.getParameterValues("interest");
		
		//处理乱码
		code =new String(code.getBytes("iso8859-1"),"utf-8");
		
		
		System.out.println(code);
		System.out.println(pwd);
		System.out.println(sex);
		if(interests !=null){
			for(String interest : interests){
				System.out.println(interest);
			}
		}
		
		res.setContentType("text/html;charset=utf-8");
		PrintWriter pw = res.getWriter();
		pw.println("<h1>注册成功.</h>");
		pw.close();
	}

	
}

 将Servlet02工程部署到Tomcat上,运行Tomcat启动案例工程,

浏览器录入http://localhost:8080/Servlet02/register.html即可:如果没有错误,最终页面展示效果应如下图:

录入完表单后提交即可:最新页面变化及后台控制台输出如下图:

录入演示:

最终效果:

如果去掉RegisterServlet 中对编码的处理代码,最终会出现乱码现象:

(code =new String(code.getBytes("iso8859-1"),"utf-8");)

(res.setContentType("text/html;charset=utf-8");)

内容概要:本文档介绍了基于3D FDTD(时域有限差分)方法在MATLAB平台上对微带线馈电的矩形天线进行仿真分析的技术方案,重点在于模拟超MATLAB基于3D FDTD的微带线馈矩形天线分析[用于模拟超宽带脉冲通过线馈矩形天线的传播,以计算微带结构的回波损耗参数]宽带脉冲信号通过天线结构的传播过程,并计算微带结构的回波损耗参数(S11),以评估天线的匹配性能和辐射特性。该方法通过建立三维电磁场模型,精确求解麦克斯韦方程组,适用于高频电磁仿真,能够有效分析天线在宽频带内的响应特性。文档还提及该资源属于一个涵盖多个科研方向的综合性MATLAB仿真资源包,涉及通信、信号处理、电力系统、机器学习等多个领域。; 适合人群:具备电磁场与微波技术基础知识,熟悉MATLAB编程及数值仿真的高校研究生、科研人员及通信工程领域技术人员。; 使用场景及目标:① 掌握3D FDTD方法在天线仿真中的具体实现流程;② 分析微带天线的回波损耗特性,优化天线设计参数以提升宽带匹配性能;③ 学习复杂电磁问题的数值建模与仿真技巧,拓展在射频与无线通信领域的研究能力。; 阅读建议:建议读者结合电磁理论基础,仔细理解FDTD算法的离散化过程和边界条件设置,运行并调试提供的MATLAB代码,通过调整天线几何尺寸和材料参数观察回波损耗曲线的变化,从而深入掌握仿真原理与工程应用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值