华清远见-重庆中心-Java web段技术总结/知识点梳理

目录

Servlet 介绍

Servlet的开发步骤

servlet & servlet的配置

http协议 & servlet 的运行

http协议

servlet的地址的设置

servlet的生命周期

servlet的参数

servlet级别的参数

context级别的参数

jsp的使用

jsp页面怎么写java相关的内容

转发和重定向

cookie使用

增加一个cookie

获取cookie,修改cookie

状态管理

cookie的使用过程

cookie的有效期

cookie的路径问题

cookie的特点

session的使用

Filter的使用

案例

Filter的生命周期

ServletContext的使用

jsp的内置对象

 EL表达式

jstl: jsp的标签库

jsp的include指令

HTTP协议

状态消息


Servlet 介绍

Servlet sun 公司制定的一种用于扩展web服务器的功能的组件规范。
  • web服务器通常只能处理静态的资源(html , css js ......) , 为了解决动态的处理数据, 就需要对 web服务器的功能进行扩展,servlet 就是用于处理
  • 动态数据的组件规范。
  • 组件: 符合一个规范,完成部分功能的软件模块。 比如java中的servlet , jsp都属于组件。 这些软
  • 件模块需要放在容器中运行。比如tomcat就属于容器。
  • 因此。 servlet ,jsp 都需要放在tomcat容器中去允许。
  • 容器: 符合一定规范,能够运行组件的一种软件。比如: tomcat , jetty , JBoss.....
  • Servlet规范: 使用servlet 的时候,自定义类 继承 HttpServlet , 重新service方法, 那么就符合
  • Servlet规范。

Servlet的开发步骤

新建的工程是一个 java web 项目( maven 中的 web app
Servlet , 基础 HttpServlet
  • 重写 service方法
  • service(HttpServletRequest request , HttpServletResponse response)
  • request : 请求
  • response : 响应
java web 工程中的 web.xml 文件
  • web.xml文件名字不能修改。(tomcat容器找web.xml文件)
  • java类和浏览器访问的地址做一个映射(mapping)
  • 浏览器没办法直接访问java类中的方法,所以需要对java类映射为一个浏览器能够访问的url
  • 地址。
打包 (idea 帮助完成 )
  • web项目运行需要的文件按指定的文件结构保存
部署 ( idea 中可以完成 )
  • 把打包好的web程序放到tomcat的过程, 就称为部署。
启动容器
  • 容器启动之后, 就可以通过浏览器,访问这个java web 项目了。

servlet & servlet的配置

servlet
public class BMIServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req,
HttpServletResponse resp) throws
ServletException, IOException {
// 1. 设置编码
resp.setContentType("text/html;charset=utf-8");
req.setCharacterEncoding("utf-8");
// 2. 获取参数: -- url:
// http://localhost:8080/bmi?tz=60&sg=1.7
// ? key=value & key1+value1 , &用于分隔参数
String tz = req.getParameter("tz");
String sg = req.getParameter("sg");
// 3. 处理数据
double tz1 = Double.valueOf(tz);
double sg1 = Double.valueOf(sg);
double bmi = tz1 / (sg1 * sg1);
// 4. 响应结果
PrintWriter writer = resp.getWriter();
String str = "";
if(bmi < 18){
str = "太瘦了";
}else if(bmi < 24){
str="标准身材";
}else if(bmi < 28){
str="超重了";
}else {
str="肥胖状态。";
}
writer.println("你的bmi是:" + bmi + "\n");
writer.println("<b style='color:red'>"+str+"</b>");
}
}

web.xml中对servlet配置

<servlet>
<servlet-name>bmi</servlet-name>
<servlet-class>action.BMIServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>bmi</servlet-name>
<url-pattern>/bmi</url-pattern>
</servlet-mapping

html界面

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!-- 绝对路径 :/开始的路径都是绝对路径。在这个绝对路径之前,只拼接:
http://localhost:8080/绝对路径
<form action="/bmi" method="get"> --- http://localhost:8080/bmi (错误路径)
相对路径: 不是/开始的路径,都是相对路径。 根据当前路径, 拼接你的相对路径。
<form action="bmi" method="get"> -- 当前路径:
http://localhost:8080/web01/bmi.html
-- 拼接路径:
http://localhost:8080/web01/bmi
-->
<form action="bmi" method="get">
<label>请输入体重:</label>
<input type="text" name="tz">
<br>
<label>请输入身高:</label>
<input type="text" name="sg">
<br>
<input type="submit" value="计算bmi">
</form>
</body>
</html>
访问方式:
先访问 html 页面, 输入数据:
http://localhost:8080/web01/bmi.html
然后通过表单提交访问: http://localhost:8080/web01/bmi?tz=60&sg=1.7
接收前端提交的数据
  • request.getParameter(key) , 获取请求参数。
  • getParameter(key) 的返回值是String , 使用的时候,需要注意数据类型的转换问题。
  • 如果前端没有传入某个参数, 使用getParameter(key) ,那么返回值是null.
响应结果
  • 通过response对象的 getWriter()方法,得到输出流
  • 通过输出流,输出字符串内容,作为响应结果
  • 设置响应结果的类型和字符编码方式:
    response.setContentType("text/html;charset=utf-8");
    1. text/html , 这个是浏览器能解析的 html 格式
    2. application/json, 这个是浏览器能解析的 json 格式 ( 后面会使用 )
    3. 如果格式写错,浏览器不能解析,就会提示你下载。
    比如 test/html , 就是浏览器不认识的格式,就会提示下载这个响应结果。

http协议 & servlet 的运行

http协议

1. 通信方式
  • 建立连接
  • 发送请求(请求数据包)
  • 发送响应(响应数据包)
  • 断开连接
2. 数据包格式
  • 请求数据包
  • 响应数据包
3. 请求方式
get
  • 请求参数在url地址后显示
  • 数据量比较小
  • 不安全
  • 不支持文件上传
  • get请求: ① 浏览器地址栏直接访问 , ② formmethod设置为get , ③ 超链接 ④ 异步请求的时候,设置为get.
post
  • 数据放在消息体中的
  • 数据量大
  • 相对安全
  • 支持文件上传
  • post请求: ① formmethod设置为post , 异步请求的时候, 设置为post
put

servlet的地址的设置

java
// 介绍 servlet的路径配置
public class UrlPatternServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 1. 设置编码
resp.setContentType("text/html;charset=utf-8");
req.setCharac
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 根据所提供的清远-c0rtexas9资料路径,在实验中涉及到了Linux系统标准IO的应用实验。Linux系统标准IO是指Linux操作系统提供的一套标准化的IO库,可以用于操作文件、输入输出等。以下是对该实验的简单描述: 这个实验主要是关于Linux系统标准IO的应用实验。在该实验中,我们可以找到程序的源代码,该源代码是用Linux应用程序的方式编写的。通过这个实验,我们可以了解和学习Linux系统标准IO的基本操作和使用方法。 Linux系统标准IO是一套非常强大和灵活的IO库,提供了一系列的函数和方法来操作文件和进行输入输出。在实验源码中,我们可以看到一些常的标准IO函数,比如fopen、fclose、fprintf和fscanf等。 通过这些函数,我们可以打开和关闭文件,从文件读取数据或向文件写入数据。实验源码中包含了一些常的操作,比如读取文件、写入文件、复制文件和查找文件等。通过实验,我们可以了解到如何使用这些函数来完成不同的操作。 此外,在实验源码中可能还会涉及到一些其他的Linux系统标准IO相关的知识点,比如文件指针、文件描述符和文件流等。这些知识点对于理解和使用Linux系统标准IO函数非常重要。 通过实验中提供的源代码,我们可以进行相应的实验操作,从而更好地理解和学习Linux系统标准IO的使用。同时,我们也可以通过对实验源码的分析和调试,更深入地了解Linux系统标准IO的内部工作原理。 总之,通过这个实验,我们可以掌握Linux系统标准IO的基本操作和使用方法,从而提高我们在Linux系统中进行文件操作和输入输出的能力。 ### 回答2: 清远(英文名称为Far Infrared Technologies International Limited)是一家专注于红外光学技术研发及应用的企业。该公司的产品主要应用于安防监控、无人机、机器人、智能家居等领域。 关于"06. linux系统标准io实验"的实验资料包括了程序源码。在Linux操作系统中,标准I/O(Input/Output)库是用于进行文件读写和输入输出操作的一套API(Application Programming Interface)。标准I/O库提供了一系列函数,包括文件打开、读取、写入、关闭等操作,方便开发人员进行文件操作和输入输出。 这份实验资料中的源码,应该是用于展示和实践Linux系统标准I/O库的使用方法和技巧。通过编译和运行这些源码,可以了解如何使用标准I/O库来进行文件的读写和输入输出操作,包括打开文件、读取文件内容、写入文件等。 这些实验源码可以作为学习和实践Linux系统标准I/O库的参考资料。通过实际操作,可以加深对标准I/O库的理解和掌握,提高在Linux环境下进行文件操作和输入输出的能力。 总之,"06. linux系统标准io实验"的实验资料中的程序源码是用于学习和实践Linux系统标准I/O库的使用方法,通过编译和运行这些源码,可以加深对标准I/O库的理解和掌握,提高在Linux环境下进行文件操作和输入输出的能力。 ### 回答3: 清远-c0rtexa9资料中的程序源码目录为\linux应用实验源码\06. linux系统标准io实验\。这个实验中包含了一些关于Linux系统标准输入输出的代码示例。 在Linux中,标准输入输出是三个预先定义好的文件描述符,分别是0(stdin),1(stdout),2(stderr)。这些文件描述符与输入输出设备关联,比如键盘和屏幕。使用标准输入输出可以实现用户与程序之间的交互以及程序的输出显示。 在实验源码中,我们可以看到许多用于标准输入输出的函数,包括printf、scanf、getchar、putchar等。这些函数可以帮助我们进行输入输出操作。 在实验中,我们可以通过这些代码示例学习如何从标准输入读取用户输入,如何向标准输出显示结果。例如,可以使用scanf函数读取用户输入的数据,使用printf函数将处理结果输出显示。 通过实验中的代码示例,我们可以学习到如何处理标准输入输出的错误,如何进行格式化输入输出,如何使用缓冲区进行高效的输入输出等。 总之,清远-c0rtexa9资料中的\linux应用实验源码\06. linux系统标准io实验\中包含了一些关于Linux系统标准输入输出的代码示例,通过这些示例我们可以学习到如何进行标准输入输出操作,以及一些与之相关的技巧和注意事项。这对于学习Linux系统编程和开发应用程序非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值