Servlet

Servlet

1.什么是Servlet,Servlet的本质是什么

Servlet:Java服务连接器,(Server Applet),主要作用在于通过Java编写的服务端程序和前端交互的生成动态的web数据!
Servlet的本质:就是一个普通java类型,继承 HttpServlet,重写这个类中doGet()/或者doPost()方法(这两个方法常用的)

2.Servlet的执行流程

	1)用户在浏览器输入访问地址 :http://localhost:8080/webApplicationContext/后台地址(url-	pattern)
	2)tomcat的web容器解析路径上面的/webApplicationContext/后台地址(url-pattern),找到当前web工程下的web.xml--- url-pattern是否存在,如果存在,解析xml文件中的servlet-mapping里面的url-pattern对应的
servlet-name:获取到它的Servlet名称
	3)映射配置---->找到servlet基本配置--->通过servlet名称---找到servlet-class---->当前类的全限定名称
	4)加载类 
Class clazz  = Class.forName("当前类的全限定名称") ;
    5)创建当前类对象---->无参构造方法系统提供的 
  Object obj = clazz.newInstance();
    6)通过字节码文件对象获取当前类中的成员方法所在类对象Method
 Method m =    calzz.getDeclareMethod("doGet",HttpServletRequest.class,HttpServletResponse.class) ;
    7)取消Java语言访问检查
    m.setAccessiable(true)  ;
    8)可以调用方法
    m.invoke(obj,request,response) ;

3.xml配置方式:Servlet的步骤

1)自定义一个类,继承自HttpServlet
2)重写这个类中doGet()和doPost()方法,,doPost里面复用doGet(),获取前台参数的方式相同的!
		这些方法里面完成自己的业务...
3)配置这个类在web项目下的WEB-INF里面的web.xml文件中配置
	<servlet>
		<servlet-name>建议和当前类名一致</servlet-name>
		<servlet-class>当前类全限定名称</servlet-class>
	</servlet>
	<servlet-mapping>
	    <servlet-name>和上面的servlet-name一致</servlet-name>
	    <url-pattern>/名称</url-pattern>
	</servlet-mapping>
	
	如果url-pattern不是以"/"开头,启动tomcat报错----LifexxxException
	

4.Servlet的生命周期

Servlet是一个单例的:
servlet默认创建的时机:
在访问servlet的时候才会创建当前类对象----无参构造方法执行一次,以及init(ServletConfig config):执行一次
service():方法 称为,servlet入口(业务服务方法),可以调用多次
detroy():当前tomcat正常关闭,servlet对象被销毁---->交给jvm的垃圾回收线程来回收没有更多引用的对象!

5.Servlet的体系结构

自定义XXxServlet---->extends---->HttpServlet (重写了service方法,里面的业务逻辑就是通过获取前台的提交方式,执行不同的doXXX()方法)----->GenericServlet(里面涉及到一些生命周期相关的方法以及抽象方法service()---需要让它的子类重写)----->Servlet接口: (service(),init(Servletconfig config),destroy())

6.获取前台表单数据参数的方式

//HttpServletRequest

String getRequestParameter(String parameterName):通过前台的name属性的属性值:作为"参数名称"
    通过参数名称获取参数内容
    
    表单标签中表单项
    		文本输入框
    		密码输入框
    		
    				必填name="xx" 
    
    
    
    Servlet--->目的前台接收参数
    jsp:Java Server Page :写java代码的html页面----->目的 渲染数据--展示数据
    		doGet()
    
    			response.getWriter().append("<html>") ;
				response.getWriter().append("<head>") ;

				response.getWriter().append("<body>") ;
						//里面的html标签内容
                response.getWriter().append("</body>") ;
				
                response.getWriter().append("</head>") ;
	            response.getWriter().append("</html>") ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值