目录
servlet的生命周期
配置tomcat环境
创建web后端项目
配置web.xml
http请求
get和post
其他请求
http响应
Servlet是Server Applet的简称,意思为用Java编写的服务器端的程序,它运行在web服务器中,web服务器负责Servlet和客户的通信以及调 用Servlet方法。
作用:
1.接收用户发送的请求数据
2.调用其他的java程序来处理请求
3.根据处理结果,将结果响应给客户端
servlet的生命周期
1.实例化:构造方法:只被调用一次,只有第一次访问Servelt时或服务器启动时 创建Servlet实例
2.初始化:Init方法:只被调用一次,在Servlet实例创建好实例后立即执行, 用于执行一些初始化Servlet的操作。
3.服务:service方法:多次调用,每次请求都调用service方法,根据请求方式 调用doGet()或doPost()方法
4.消亡:destroy:只被调用一次,在服务器关闭时调用,执行一些操作
配置tomcat环境
在idea中配置:
1.
2.3.点击Deployment,点击加号,选中资源,导入
创建web后端项目
在idea中集成tomcat,并将项目部署到tomcat中,创捷servlet程序,继承HttpServlet,HttpServlet是javaEE中的一个类,我们的Servlet处理类必须继承此类,这样就具备了Servlet程序功能,启动服务器时,就会加载这些继承了HttpServlet的类。
配置web.xml
xml文件 html文件 都属于标记语言/标签,xml主要是用来在项目中存储配置信息的,有固定的格式,
web.xml文件是web项目中的配置文件,里面配置servlet,过滤器,....在服务器启动时,由tomcat加载读取里面的配置数据。
<servlet>
<servlet-name>loginServlet</servlet-name><!--定义servlet对象的名字-->
<servlet-class>com.webback.servlet.LoginServlet</servlet-class>
<!--
配置servlet类地址, 在第一次或启动服务器时,由服务器通过反射机制创建次servlet对象制
默次认是第一访问Servlet时创建对象
还可以配置在启动时创建对象<load-on-startup>值>=0</load-on-startup>
-->
</servlet>
<servlet-mapping>
<!--
为指定name的servlet配置一个供前端进行访问映射地址-->
<servlet-name>loginServlet</servlet-name><!--找对应的Servlet-->
<url-pattern>/login</url-pattern><!-- 映射地址,必须以 / 开头 -->
</servlet-mapping>
http请求
请求行:包含http请求方式,请求资源名称,http版本
请求头:客户端的一些信息包含主机地址,以及客户端的一些环境信息,以键值对的形式传递
请求体:代表着浏览器在post请求方式中传递给服务器的参数,请求体中参数以 键值形式传递, 多个用&链接,服务器接收到后再解析. username=admin&userpwd=12
请求和响应是Web交互最基本的模式,在Servlet中,用HttpServletRequest 来表示请求
HttpServletRequest :封装了请求的信息,可以从中获取任何请求信息
getParameter(name) //String 通过name获得值
getParameterValues //String[ ] 通过name获得多值
get和post
get:
超链接请求
地址栏直接访问是get
主要用于从服务器端获取数据
向服务器端传输数据量小,并且在地址栏会显示
post
表单提交post方式提交数据
主要用于前端想后端传输大量数据(可以上传文件)
数据存放在请求体中,相对安全
其他请求
System.out.println(req.getMethod());
System.out.println(req.getRequestURI());
System.out.println(req.getScheme());
System.out.println(req.getServerName());//服务器自己的名字
System.out.println(req.getServerPort());
System.out.println(req.getProtocol());
System.out.println(req.getRemoteAddr());//客户端的ip
System.out.println(req.getRemotePort());//客户端端口
http响应
一个http响应代表服务器向客户端回送的数据,它包括:响应行,响应头,响应体。 响应行里包含了http协议版本,以及用于描述服务器对请求的处理结果 。
200:请求成功
302:请求重定向
400:语义有误,当前请求无法被服务器理解或请求参数有误
404:请求资源不存在,通常是路径写错了或者服务器资源删除了
500:服务内部错误(代码异常)