servlet和jsp

JavaWeb服务器端技术:Servlet/JSP
1,Web应用概述
2,Web服务器(JBoss,WebLogic…)
(1)Tomcat的安装
解压
配置环境变量 JAVA_HOME:jdk的安装路径
启动:tomcat目录/bin/startup.bat
关闭:tomcat目录/bin/shutdown.bat
测试:http://localhost:8080
(2)部署html页面到Tomcat
在tomcat/webapps下新建文件夹(aa 非中文),将自己的html页面(1.html)放在该文件夹下即可
访问:http://localhost:8080/aa/1.html
(3)Tomcat的目录
bin:
startup.bat 启动Tomcat (不能同时启动多个tomcat服务器)
shutdown.bat 关闭Tomcat
lib:
存放Tomcat依赖的jar包
webapps:
存放Web应用程序
Web程序的目录结构
conf:
存放配置文件server.xml
修改端口号:

配置默认的欢迎页面:web.xml

index.html
index.htm
index.jsp

(4)Web应用程序的目录结构
根目录(项目名称)
静态文件
html
图片
css
js
动态文件
jsp
WEB-INF
web.xml Web程序的配置文件
classes
*.class
lib
*.jar
3,开发工具:MyEclipse10 / EclispeJavaEE版
(1)服务器Tomcat配置
(2)创建Web项目
(3)部署Web项目到Tomcat
(4)运行项目
4,Web应用的“请求-响应”模型
(1)请求:客户端给服务器发送请求(做一件事情)。
GET(邮寄明信片):
传输数据大小有限制(200K)
安全性低
速度快
POST(邮寄信件):
传输的数据大小没有限制
安全性高
速度较快
(2)响应:服务器接收到客户端的请求,进行处理,并将处理结果发给客户端。
200表示OK
404表示未找到服务器上的资源
500表示找到了,但是程序发生了某种异常

1,JSP概述
(1)Java Server Page
(2)JSP=HTML+JAVA
(3)优点:
平台无关
性能好
扩展性强
2,JSP的运行原理、过程 (面试题:为什么JSP第一次运行比较慢?)
(1)转译:jsp—>java(Servlet)--------------Tomcat
(2)编译:java—>class -------------------JDK
(3)运行:class—>html -------------------JDK
(4)html发送给客户端浏览器 ----------------Tomcat
3,JSP元素
(1)脚本 *
声明(用于定义变量或方法,其实就是类的成员变量和成员方法): <%! … %>
小脚本(方法中的实现代码):<% … %>
表达式(在页面上输出,其实就是在方法中调用out.print(内容)):<%= … %>

<% out.print(内容);%>等价于<%=内容%>

<%! int a=5; %> //全局变量
<%
	int a=7; //局部变量
%>
<%=a%> //输出局部变量a

public class xxx(){
	int a=5;
	public void xxxService(){
		
		System.out.print(a);
	}
}

声明中的代码只在第一次的时候执行,而小脚本和表达式每次刷新都会执行!!!

(2)内置对象(9个):Tomcat直接创建好的对象,在JSP内部直接使用。
out:输出对象
print(“内容”);
println(“内容”);--------不是换行,会在内容后输出一个空字符。
write(“内容”);
request:请求对象
接收单个参数:String s=request.getParameter(name);
接收多个参数:String array[]=request.getParameterValues(name);
解决POST提交方式乱码:request.setCharacterEncoding(“编码”);
获取客户端的IP:request.getRometAddr();
请求转发(用于页面跳转):request.getRequestDispatcher(url).forward(request,response);
JSP页面直接的参数传递:A—>B
A:request.setAttribute(“参数名”,Object);
B:Object obj=request.getAttribute(“参数名”);
response:响应对象
重定向(用于页面跳转):response.sendRedirect(url);
作用域通信对象:
request:请求作用域(请求转发)
session:会话作用域(关闭浏览器)-----------登录
application:应用程序作用域(关闭Tomcat)
注意事项:A->B传参,原则是request->session->application

(3)指令
语法:<%@ 指令名 … %>
<%@ page 属性=“值”%>
必须放在JSP的第一行
属性:
pageEncoding=“utf-8” 设置JSP页面的编码方法
import=“java类” 在JSP页面引入Java类 (导入多个不同包,中间使用逗号隔开)

JSP中的乱码处理:
1,页面的静态乱码
(1)<%@ page pageEncoding=“utf-8”%>
(2)
2,动态乱码(接收参数)
(1)get方式
配置Tomcat的方式:server.xml

(2)post方式
在接收参数之前,通过request对象设置请求的编码:
request.setCharacterEncoding(“utf-8”);

JSP中请求转发和重定向的区别:
1,从A跳到B,如果需要传递复杂参数(对象,集合)适合使用请求转发,否则重定向。
2,请求转发用于服务器内部跳转,而重定向可以跳到外部服务器。
3,请求转发url不改变,而重定向会改变url。

A->B
1,超链接:?,session
2,表单提交:表单元素和request.getParameter(“name”)
3,请求转发:request
4,重定向:?,session

分数阶傅里叶变换(Fractional Fourier Transform, FRFT)是对传统傅里叶变换的拓展,它通过非整数阶的变换方式,能够更有效地处理非线性信号以及涉及时频局部化的问题。在信号处理领域,FRFT尤其适用于分析非平稳信号,例如在雷达、声纳通信系统中,对线性调频(Linear Frequency Modulation, LFM)信号的分析具有显著优势。LFM信号是一种频率随时间线性变化的信号,因其具有宽频带良好的时频分辨率,被广泛应用于雷达通信系统。FRFT能够更精准地捕捉LFM信号的时间频率信息,相比普通傅里叶变换,其性能更为出色。 MATLAB是一种强大的数值计算科学计算工具,拥有丰富的函数库用户友好的界面。在MATLAB中实现FRFT,通常需要编写自定义函数或利用信号处理工具箱中的相关函数。例如,一个名为“frft”的文件可能是用于执行分数阶傅里叶变换的MATLAB脚本或函数,并展示其在信号处理中的应用。FRFT的正确性验证通常通过对比变换前后信号的特性来完成,比如评估信号的重构质量、信噪比等。具体而言,可以通过计算原始信号与经过FRFT处理后的信号之间的相似度,或者对比LFM信号的关键参数(如初始频率、扫频率持续时间)是否在变换后得到准确恢复。 在MATLAB代码实现中,通常包含以下步骤:首先,生成LFM信号模型,设定其初始频率、扫频率、持续时间采样率等参数;其次,利用自定义的frft函数对LFM信号进行分数阶傅里叶变换;接着,使用MATLAB的可视化工具(如plot或imagesc)展示原始信号的时域频域表示,以及FRFT后的结果,以便直观对比;最后,通过计算均方误差、峰值信噪比等指标来评估FRFT的性能。深入理解FRFT的数学原理并结合MATLAB编程技巧,可以实现对LFM信号的有效分析处理。这个代码示例不仅展示了理论知识在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@沫沫@

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

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

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

打赏作者

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

抵扣说明:

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

余额充值