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解析
感谢各位大佬观看,求免费的赞和关注收藏呀!!