自学内容网 自学内容网

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解析

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


原文地址:https://blog.csdn.net/weixin_62189092/article/details/142448813

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!