当前位置: 首页 > news >正文

单元2 Servlet基础

一、入门程序
1、基于Web.xml文件配置Servlet
(1)首先,在IDEA开发环境中,新建一个名为Unit2_task1的空项目 。
image
(2)在项目的src/main/java目录下创建一个包com.example.unit2-1,包中创建一个名为HelloServlet的类,继承HttpServlet类 。
image
(3)web.xml文件是整个应用程序的配置文件,我们需要在web.xml中对HelloServlet进行基础配置 。
image
(4)将上面的项目部署到Tomcat中,设置应用的上下文(Application Contex)为“/Unit2_1”,我们就可以在浏览器中访问资源。输入地址“http://localhost:8080/Unit2_1 /hello”,即可访问HelloServlet,浏览器中访问显示结果如图所示。
image
2、基于注解配置Servlet
除了使用web.xml文件配置Servlet之外,我们还可以使用注解进行配置,servlet 3.0之后引入了注解,使用注解可以极大简化我们的代码。
(1)使用注解,首先要引入Servlet的依赖,在pom.xml文件中添加以下依赖代码 。
image
(2)在HelloServlet1类的声明语句上,添加名为@WebServlet的注解,并设置value属性值为“/hello1”。
image
(3)重新部署运行项目,再次浏览资源可以浏览以下内容。
image
二、HttpServletRequest对象
1、获取请求行信息
(1)下面通过示例程序,介绍如何使用HttpServletRequest对象获取请求行信息。 在Unit2_task1项目中,创建一个包com.example.unit2_2,包中创建类RequestLineServlet继承HttpServlet。
image
image
(2)浏览请求“http://localhost:8080/Unit2_1/RequestLineServlet”,运行结果如图2-5所示 。
image
2、获取请求头信息
(1)在Unit2_task1项目中,创建包com.example.unit2-3,包中创建一个名为RequestHeaderServlet的类 。
(2)使用getHeaderNames方法获取请求中包含的所有头字段名,并逐个打印出对应的字段值。
3、获取请求参数
(1)在Unit2_task1项目中,在src的main的webapp目录下,新建一个info.html页面,提供用户进行数据输入。
image
(2)继承HttpServlet,用来获取用户提交的参数 。
(3)部署运行项目,并在浏览器访问页面info.html,输入个人信息并提交。
image
(4)后端的Servlet会打印获取的参数信息。
image
4、设置属性与请求转发
(1)在包中新建一个Servlet1类继承HttpServlet,在其中设置属性,并进行请求转发。
image
(2)在包中再新建一个Servlet2类继承HttpServlet类,获取请求中的属性并打印。
image
(3)运行项目,在浏览器中访问地址“http://localhost/Unit2_1/Servlet1”。
image
三、登录成功失败
(1)在Unit2_task1中src/main/java目录下创建LoginServlet.java进行编辑。
image
(2)在web.xml中创建login.html并且进行编辑。
image
(3)在浏览器中访问地址"http://localhost/Unit2_1/login.html"
image
(4)用户名和密码分别为root,是正确登录方式。
image
(5)登录成功后在软件下方会显示登录成功,同样如果(4)不是正确的登录方式则在软件下方会显示登录失败
image
四、HttpServletResponse对象
1、发送响应数据
(1)在Unit2_task1项目中新建包com.example.unit2_6,包中新建一个ResponseServlet类继承HttpServlet,通过字符流对象输出信息
image
(2)部署运行后,访问ResponseServlet即可看到响应的信息
image
2、设置响应头与状态码
3、请求重定向
(1)包中新建一个ResponseServlet1类继承HttpServlet
image
(2)新建一个ResponseServlet2类继承HttpServlet
image
(3)部署运行项目,在浏览器输入ResponseServlet1的地址“http://localhost/Unit2_1/response1”,用户先访问了ResponseServlet1,然后再访问ResponseServlet2。地址栏会显示ResponseServlet2的地址,页面只显示“Servlet2”
image
五、Cookie
1、新建包com.example.unit2_5,包中新建一个mycookie类继承HttpServlet
image
2、上一次访问时间示例
新建包com.example.unit2_8,包中新建一个LastAccessServlet类继承HttpServlet,用来显示用户上次的访问时间。如果是第一次访问,则显示首次访问欢迎信息。
image
image
首次访问页面,会提示首次访问欢迎信息,再次刷新页面,即可显示上次访问时间。
image
六、HttpSession接口
1、在Servlet中使用Session
(1)在Unit2_task2项目中,创建包com.example.unit2_9,包中新建一个SetSessionServlet类,用来在Session对象中存储数据。
image
(2)再新建一个GetSessionDemo类,用来从Session中读取数据。
image
(3)部署运行项目,浏览器中输入地址,先请求访问SetSessionServlet
image
(4)浏览器中再输入地址,请求访问GetSessionDemo
image
七、ServletContext接口
(1)在Unit2_task2项目中,创建包com.example.unit2_10,包中新建一个ServletCondemo1类,从ServletConfigDemo中取出总访问次数并进行更新。
image
(2)再建一个ServletCondemo2类,逻辑与ServletCondemo1类似,唯一的不同是提示信息。
image
(3)运行项目,首先访问ServletCondemo1,可以看到当前访问次数从1开始,每刷新一次增加1
image
4)然后访问ServletCondemo2,可以看到,ServletCondemo2中可以从ServletContext中取出共享的n变量,并对其进行更新。
image
八、ServletConfig接口
(1)在WEB-INF中的web.xml中创建,并配置相应的初始化参数。
image
(2)部署运行项目,访问MyConfig,即可读取在web.xml中配置的初始化参数
image

http://www.jsqmd.com/news/560560/

相关文章:

  • Ubuntu20.04下HPC_SDK加速库安装避坑指南(附OpenACC测试代码)
  • Windows平台APK安装架构革命:从模拟器到原生集成的技术演进
  • Mac微信防撤回终极指南:3分钟掌握完整解决方案
  • YOLO12 REST API开发指南:curl/Python调用predict接口批量处理图像
  • 列管式反应器--年产13万吨MMA丁二烯项目(CAD)
  • 2026年安徽回收材料砖定制生产企业排名,哪家比较靠谱 - 工业品网
  • Cadence实战:从原理图到PCB的完整导入流程解析
  • 聊聊2026年上海沥青路面施工厂家,哪家性价比高 - 工业品网
  • StructBERT情感分类-中文-通用-base保姆级教程:从CSDN控制台到结果验证
  • HunyuanVideo-Foley部署案例:科研可视化中实验过程视频+解说音效生成
  • 2026年北京地区能帮餐饮节约包装成本的靠谱包装公司推荐 - 工业推荐榜
  • 2026年上海园区路面铣刨价格大揭秘,专业路面铣刨性价比哪家高 - 工业推荐榜
  • 安全生产——解读信息网络安全方案设计方案【附全文阅读】
  • lite-avatar形象库部署教程:GPU共享模式下多租户数字人服务隔离方案
  • 京东电商AIGC实践:知识图谱与大模型融合的文案生成技术
  • VeraCrypt加密卷功能解析与个性化配置指南
  • 别再让数据溢出!LabVIEW DAQmx数据采集中的缓冲区管理与队列实战技巧
  • Heritrix3与Trough集成:实现高效内容分发的完整流程
  • 模块化运动控制突破:Reachy Mini如何通过分布式架构实现桌面机器人精准交互
  • 细聊北京能做降低物流成本的本地包装公司,哪家好用 - mypinpai
  • Qwen-Image-2512-Pixel-Art-LoRA行业落地:复古风社交媒体封面与头像批量生成方案
  • RTKLIB进阶指南:深入理解北斗三代CNAV电文与BDS-3星历数据结构
  • 5个革命性的AI图像修复功能:IOPaint让创作者实现专业级图像处理
  • 面试加分项实战:如何用SpringBoot + Cesium + Vue3搭建一个能演示的3D GIS数字孪生Demo
  • 新托福短期出分的机构怎么选 2026 考生实测,抓准 6 点高效避坑 - 速递信息
  • Degrees of Lewdity中文汉化版:三步实现免费游戏本地化体验
  • 收藏 | 阿里字节开源Agent框架大比拼:小白程序员必看,三种思路助你入门大模型!
  • 2026年江浙沪推荐的净化板厂汇总,哪家净化板口碑好 - 工业设备
  • Vivado实战:从零封装自定义接口IP核的完整流程
  • 【Linux】文件与目录管理