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

JavaWeb--纯小白笔记06:使用Idea创建Web项目,Servlet生命周期,注解,中文乱码解决

使用Idea创建一个web项目----详细步骤配置,传送门:http://t.csdnimg.cn/RsOs7

src:放class文件   

web:放html文件   

out:运行过后产生的文件

一创建一个新的web项目(配置好了后):

在src创建一个文件夹Demo1,在文件夹创建第一个java程序ServletDemo1,因为写的是希望可以反映的网页,所以需要创建的java类继承或实现HttpServlet,可以响应网页的请求

希望在Idea写的java.class程序的结果反映到网页上,就需要在代码里进行发起请求。以下代码实例:

doGet方法和doPost方法,request响应  response请求。

所以在ServletDemo1写一个打印给网页的内容的方法,ctrl键+O键(快捷键) 选择方法倒数第二个service

使用对网页请求的对象打印请求的内容展示给网页“:ServletDemo1因为我们给了一个注解---就是@WebServlet("/ServletDemo1")所以运行后直接唤起之前配置的浏览器

搜索我们上面写的注解---因为我们给了一个注解---就是@WebServlet("/ServletDemo1")所以运行后直接唤起之前配置的浏览器输入:ServletDemo1  ,j就会显示我们之前打印的内容:

二Servlet生命周期:

介绍两个方法:

destro()破坏---当servlet销毁时使用 

 init() 初始化---当servlet创建的时候调用

默认情况下:第一次调用时一直存在内存中,只会创建一个----就是在网页进行搜索才创建,在搜索也不会生成,直到服务器关闭(在Idea关闭程序)才算结束死亡

但是还有一种情况:将以下代码放进工程的web文件夹里WEB-INF里的web.xml。

默认第一次访问时创建(<load-on-startup>的值为负数)当设置的数字为0或者整数,就会在运行时就创建servlet,结束还是得关闭服务器 。

     <servlet>

 

这里的web.xml文件受到WEB-INF保护是访问不了的,所以这里会使用servlet-name 联动上面的ServletDemo2进行提示创建以及关闭。

三解决乱码--请求

当我们打印中文汉字是网页回应的是问号,识别不了:

乱码是因为在idea里写的代码继承了HttpServlet可以响应网页的请求,但是我们打印的内容传过去浏览器不知道使用什么编码进行编码,所以这个时候要使用请求对象resp调用一个setCharacterEncoding("UTF-8")的方法告诉浏览器我们的请求使用utf-8编码setContentType("text/html;charset=UTF-8")是告诉浏览器这个文本或者html文件要使用utf-8解析

感谢各位大佬观看,求免费的赞和关注收藏呀!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 硬件工程师笔试面试——晶振
  • 思通数科开源产品:免费的AI视频监控卫士安装指南
  • git reflog 和 git log 的详解和区别
  • 本地git仓库配置远程仓库的地址
  • 如何在WordPress中添加事件Schema(分步指南)
  • 处理京东商品详情信息爬取中的验证码问题
  • 【基础算法总结】模拟篇
  • Java多线程大全
  • Oracle数据库中什么情况下需要使用游标
  • Hive自定义函数——简单使用
  • 【手机马达共振导致后主摄马达声音异常】
  • 2024自学手册——网络安全(黑客技术)
  • MyBatis-Plus代码生成器
  • Microsoft Edge 五个好用的插件
  • Flyway 校验机制
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Django 博客开发教程 8 - 博客文章详情页
  • github指令
  • js操作时间(持续更新)
  • node 版本过低
  • SQLServer之创建显式事务
  • 基于Android乐音识别(2)
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 解析 Webpack中import、require、按需加载的执行过程
  • 精彩代码 vue.js
  • 开源SQL-on-Hadoop系统一览
  • 前端之Sass/Scss实战笔记
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 协程
  • 学习ES6 变量的解构赋值
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 追踪解析 FutureTask 源码
  • 自定义函数
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • #android不同版本废弃api,新api。
  • (9)目标检测_SSD的原理
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (k8s)kubernetes集群基于Containerd部署
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (编译到47%失败)to be deleted
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (转)jdk与jre的区别
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core Web APi类库如何内嵌运行?
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET Core中Emit的使用
  • .Net 中Partitioner static与dynamic的性能对比