servlet基础了解

关于servlet的基本了解

1:什么是servlet

什么是servlet呢? Servlet 是一个服务器的一个组件,需要依赖于服务器来运行,但是他是独立的,可以在TomCat中或者是其他的如JBoss中都是可以运行的。在我们使用的TomCat服务器中,已经内置了Servlet,因此在使用Servlet 不需要再导入Servlet的依赖,可以直接运行。

2:创建一个servlet的项目

1:首先准备好编译环境
编译器:eclipse ,idea等等。下面就以eclipse为例:
在这里插入图片描述
在这里插入图片描述
2:环境的配置
首先先去下载tomcat服务器
tomcat下载地址
http://tomcat.apache.org/download-90.cgi
注:目前tomcat10已经出来了,但是最好不要用。拿一个相对比较高的版本,使用是tomcat9这个版本。(体验满意)
在这里插入图片描述
在这里插入图片描述
下载完成后解压到电脑磁盘中。
在这里插入图片描述
然后就是环境的配置。
右键此电脑,选择管理,然后高级系统设置,然后选择环境变量,最后编辑系统变量
创建:CATALINA_BASE
E:\tomcat\apache-tomcat-9.0.35(这个是我存放tomcat的位置,具体位置要看你把tomcat放在哪个磁盘下的文件夹中)
在创建:CATALINA_HOME
E:\tomcat\apache-tomcat-9.0.35(两个位置是一样的)
找到path变量()
添加%CATALINA_HOME%\bin
然后打开cmd窗口模式(管理员身份进行):
输入startup,然后弹出:
在这里插入图片描述
然后通过访问网址:http://localhost:8080或者http://127.0.0.1:8080,能够访问到如下页面,就代表你的tomcat服务器安装配置成功
在这里插入图片描述
注意:可能在tomcat安装目录bin文件夹点击startup.bat出现闪退的情况,可以在这个文件夹中加入
在bin\startup.bat文件中的第一行前面加入:

SET JAVA_HOME=(JDK目录)

SET CATALINA_HOME=(解压后Tomcat的目录)

3:项目的搭建
首先要在eclipse中部署tomcat的环境(这里就自行完成吧,网上有很多的教程)
然后就开始创建属于自己一个web项目:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3:servlet继承体系

在Servlet中最顶层的Servlet 是一个Servlet 接口,该接口的实现类是GenricServlet,该类是一个抽象类,实现了Servlet 接口,并实现其中一些方法,HttpServlet 继承自GenricServlet,并且实现了service方法,并将service 方法拆分成了doget、doPost、doPut等方法。

public class Servlet extends HttpServlet {
    
    
	private static final long serialVersionUID = 1L;	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
    
		System.out.println("我是doGet方法");
		String name = req.getParameter("name");
		String password = req.getParameter("password");
		System.out.println(name+"======"+password);
		//下同
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    
    
	System.out.println("我是doPost方法");
	}
}

创建一个login.html文件:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="login" method="get">
	姓名:<input type="text" name="name" > <br>
	密码:<input type="text" name="password" ><br>
	<input type="submit" value="登录" >
</form>

</body>
</html>

在这里插入图片描述
在这里插入图片描述

细节
Httpservlet t继承GenriServlet,其service方法,被解析成了doGet(); ,doPost();,doPut();方法等,所以重写service方法时候,没有必要再去写doGet();,doPost();或者选择其中一种就行了。
注:HttpServletRequest继承自ServletRequest,HttpServletResponse继承ServletResponse,
HttpServlet:doGet();doPost();获取(name, password等)方法为:request.getParameter();

4:servlet的生命周期

什么是servlet的生命周期呢? servlet生命周期是指从servlet启动服务到这个服务结束被销毁。称为整个servlet整个生命周期
方法:
init():初始化服务,在整个servlet生命周期就只是运行一次
service():运行期,提供服务,运行service方法或者从service分解出来的方法(doGet();DoPost();等),接受servlet请求,且每次请求都会执行;
destroy():服务器销毁 整个servlet生命周期结束
在这里插入图片描述
在这里插入图片描述

5:web.xml配置

 <servlet>
 
  <servlet-name>servlet</servlet-name>//给servlet起一个名字
  <servlet-class>com.ujiuye.Servlet.Servlet</servlet-class>//项目的全类名
  </servlet>
  <servlet-mapping>//配置Servlet请求的映射路径 
  <servlet-name>servlet</servlet-name>
  <url-pattern>/login</url-pattern>//浏览器发送请求的匹配路径
  </servlet-mapping>

注意 web.xml

扫描二维码关注公众号,回复: 12393692 查看本文章

<load-on-startup>0</load-on-startup>进行配置,如果该参数的值大于等于0,则表示在服务器启动时,就调用init方法,servlet就会被初始化,如果为负整数,或者不提供该配置,则在第一次请求该Servlet 时调用init方法,初始化Servlet. 注意:启动配置文件在每个Servlet 的标签下配置如果多个Servlet都配置该启动项,从小到大依次进行加载初始化。即越小越先初始化。

(切记)
servlet是一个单例多线程的设计模式,每次访问都是一个独立的线程。
例如:我们自己使用的电脑的任务管理器。不管你打开了多少次任务管理器,都只是会有一个窗口;


对于servlet拆分出来的doGet();和doPost();方法的区别:
1 : doGet();&doPost();都是由service();方法拆分而来的。
2 : service可以接收任何类型的请求
3 : service方法中doGet();和doPost();方法不能同时存在
对于doGet();和doPost();方法的区别
1 : get请求的参数可见,而post请求的参数不可见
2 ; get只能传输文本类型,而post可以传输任何类型的请求
3 : get的效率比post的效率高
4 : get传输的数据有限制,4k; 而post传输的数据没有大小的限制
5 : get有缓存 post没有缓存

第一次写博客,如果写的不好还希望各位技术大佬多给意见,大家相互学习。

猜你喜欢

转载自blog.csdn.net/weixin_43298696/article/details/106727008