Servlet笔记1

1.Web目录结构

.idea:idea的配置文件
out:源代码编译以后的内容放在此目录下
src:源代码
web:存放关于web的相关资源
weib.xml:web项目的配置文件
External Libraries:可以看见项目的依赖

2.web.xml

<!--配置项目初始化后默认访问的页面 -->
<welcome-file-list>
    <welcome-file>hello.jsp</welcome-file>
</welcome-file-list>

<servlet>
    <!--给servlet起一个别名,但是下面的servlet的别名得和这儿一样-->
    <servlet-name>servletDemo1</servlet-name>
    <!--我们自己创建的servlet-->
    <servlet-class>com.hqyj.zyh.servlet.ServletDemo1</servlet-class>
    <!--当我们启动服务器的时候,初始化该servlet,可以通过该标签变相扩大servlet的生命周期-->
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <!--别名-->
    <servlet-name>servletDemo1</servlet-name>
    <!--映射的路径-->
    <url-pattern>/servletDemo1</url-pattern>
</servlet-mapping>

3.Servlet

Servlet,即server applet,服务器小程序,它的本质是一个接口,定义了一套如何浏览浏览器的规则。
servlet是web三大组件之一(另外两个为过滤器和监听器)。

4.关于servlet的生命周期

init()
	初始化方法,当第一次访问该servlet时可执行该初始化方法,后续不再执行。
service()
	服务方法:主要用于逻辑操作,每次访问该servlet时都会执行该服务方法。
destroy()
	销毁方法:当正常关闭服务器时,执行该方法。

5.注解@WebServlet

在web3.0之后出现了一个注解@WebServlet,该注解用来代替web.xml里面所有有关该servlet的配置内容。

@WebServlet的几种写法
基本写法:@WebServlet("/servlet")
父路径写法:@WebServlet("/xxx/yyy")
多路径写法:@WebServlet({"/xxx","/yyy","/zzz"})
*.do写法:@WebServlet("*.do")此处的do可以自己定义,无论前缀是什么,只要是.do结尾的都可以访问
/*写法:@WebServlet("/*")所有都可以匹配,包括.jsp结尾的,但是不能访问已经拥有的路径,优先级低于已有的路径
/写法:@WebServlet("/")所有都可以访问,但是不能匹配.jsp结尾,也不能访问已经拥有的路径,优先级低于已有的路径

6.httpServlet

httpServlet对http协议做了一些相关的实现,通过B/S构架需要去使用http协议。.http请求报文时的模仿请求方式是get。

7.get和post的区别

get表达的是最终结果想要从服务器拿到数据,所有传递给服务器的数据都是不安全的,并且只能传递2K的数据。
post表达的是最终结果想要改变服务器的某种状态,传递给服务器的数据不会放在地址栏里面。

8.request的api

api作用
request.getParameter()获取前端传过来的参数的值
request.getHeader()根据请求头的名获取请求头的值
request.getRequestURI()获取请求的URI
request.getRequestURL()获取请求的URL
request.getQueryString()获取在地址栏后拼接的内容,一般用于get请求的数据
request.getRequestDispatcher()请求转发,获取请求转发器,参数为想要转发到的路径

注:.出现乱码的原因:编码和解码不一致
解决乱码:request.setCharacterEncoding(“utf-8”)

9.域对象

域对象是能够在一定的范围内共享数据,request的作用域为一次请求与一次响应之间,
每个域对象的作用域都不相同。request值是一个域对象,是所学习的四大域对象之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值