java web

java web

1、servlet

servlet是javaweb开发的基石,与平台无关的服务器组件,它是运行在servlet容器,web应用的服务器,tomcat,负责与客户端进行通信。

servlet的功能:

​ 1、创建并返回基于客户请求的动态HTML页面。

​ 2、与数据库进行通信

使用servlet:
  1. ​ servlet本身是一组接口,自定义一个类,实现servlet接口,这个类就具备了接收客户端请求和响应的功能。
  2. ​ javax.servlet、java.lang、java.util、javax.sql,java指的是最基础的包,javax是后来扩展的包
  3. ​ 通过访问路劲来访问到类,需要在webinfo里面的web.xml文件里面进行如下配置。
	<servlet>

		<servlet-name>MyServlet</servlet-name>

		<servlet-class>com.clsld.servlet.Myervlet</servlet-class>

	</servlet> 

	<servlet-mapping>

		<servlet-name>MyServlet</servlet-name>

		<url-pattern>/myservlet</url-pattren>

	</servlet-mapping>

有两次种配置方法,基于注解的类和url进行映射、基于webservlet注解进行映射。

servlet的生命周期

1、当浏览器访问servlet的时候,tomcat会查询当前servlet的实例化对象是否存在,如果不存在,则通过反射机制动态创建对象,如果存在,则直接拿取调用

2、调用init方法完成初始化操作

3、调用service方法完成业务逻辑的操作

4、关闭tomcat时会调用destory的方法,释放当前对象所占用的资源。

Servlet的生命周期方法:

无参构造函数、init、service、destory

​ 1、无参构造只调用一次,创建对象。

​ 2、init是调用一次,初始化对象。

​ 3、service调用n次,执行业务方法。

​ 4、destory只调用一次,卸载对象。

ServletConfig

该接口是用来描述Servlet的基本信息

  • ​ getServletName()返回servlet的全类名
  • ​ getInitParameter(String key)获取init的参数的值(web.xml)
  • ​ getInitParameterNames() 返回所有的initparamter参数的值
  • ​ getServletContext() 返回servletcontext对象,他是servlet的上下文,整个servlet的管理者
servletcontext和servletconfig的区别

servletconfig作用于某个servlet实例,每个servlet都有对应的servletconfig,servletcontext作用于整个web应用,一个web应用对应一个servletcontext,多个servlet实例对应一个servletcontext。

Servlet --》GenericServlet – 》HttpServlet

HTTP的请求类型
  • ​ get 读取、
  • ​ post 保存、
  • ​ put 修改、
  • ​ delete 删除
  1. ​ GenericServlet实现了servlet接口,同时为他的子类屏蔽了不常用的方法,子类只需要重写service方法即可
  2. ​ Httpservlet继承genericservlet,根据请求类型进行分发处理,GET进去doGET方法,POST进去doPOST方法。
  3. ​ 开发者自定义的servlet;类 只需要继承HttpServlet即可,重新doGET和doPOST

2、jsp

jsp本质上是一个servlet,jsp主要负责与用户交互的,将最终的界面呈现给用户,HTML+JS+CSS+JAVA的混合文件。

当服务器收到一个后缀是jsp的请求时,将该请求交给jsp引擎去处理,每一个jsp页面第一次被访问的时候,jsp引擎会将它翻译成一个servlet文件,再把web容器调用servlet完成响应。

单纯从开发的角度看,jsp就是在HTML中嵌入java程序,具体的嵌入方法有三种:
1、jsp脚本
<%
String str = "hello world"; 	
System.out,println(str);
%>
2、jsp声明:定义java方法

<%!
		public String test(){}
%>
3、jsp表达式:把java对象直接输出到页面上

<%=java变量%>
jsp内置对象9个
  • ​ request:表示一次请求,HttpServletRequest

  • ​ response:表示一次响应,HttpServletResponse

  • ​ pageContext:页面上下文,获取页面信息

  • ​ session:表示一次会话,保存用户信息HttpSession

  • ​ application:表示当前的web应用,ServletContext

  • ​ config:当前jsp对应的Servlet的ServletConfig对象,获取当前Servlet信息

  • ​ out:先客户端浏览器输出数据,jspWriter

  • ​ page:当前jsp对应的Servlet对象,Servlet

  • ​ exception:表示jsp页面发生的异常,Exception

    常用的是request,response,session,application,pageContext。

request的常用方法:

​ 1、String getParameter(String key)获取客户端带来的参数

​ 2、void setAttribute(String key,Object value)通过键值对的形式保存数据。

​ 3、Object getAttribute(String key)通过key获取value

​ 4、RequestDispatcher getRequestDispatcher(String path)返回一个RequestDispatcher对象,该对象的forward方法用于请求转发

​ 5、String[] getParamterValues()获取客户端传来的多个同名参数。

​ 6、void setCharacterEncoding(String charset)指定每个请求的编码

session,用户会话

服务器无法识别每一次http请求的出处(不知道来自于哪个终端),他只会接收到一个请求信号,所以存在一个问题:将用户的响应发送给其他人,必须有一个技术来让服务器知道请求来自于哪,这就是会话技术。

会话:就是客户端和服务器之间发生的一系列连续的请求和响应的过程,打开浏览器进行操作到关闭浏览器的过程。

会话状态:指的是服务器和浏览器在会话过程中产生的状态信息,借用会话状态,服务器能够把属于同一次会话的一系列请求和响应关联起来。

实现会话有两种方式:
  • ​ session
  • ​ cookie

属于同一次会话的请求都有一个相同的标识符,sessionID

sesison常用的方法:
  • ​ String getid()获取sessionID

​ void setMaxINactiveInterval(int interval)设置session的失效时间,单位为秒

  • ​ int getMaxInactiveInterval()获取当前的失效时间
  • ​ void invaildate()设置session立即失效
  • ​ void setAttribute(String key,Object value)通过键值对存储数据
  • ​ Object getAttribute(String key)通过键值回去对应的数据
  • ​ void removeAttribute(String key)通过键值删除对应的数据

3、Tomcat记录

​ 1、在浏览器输入一个域名,回车

​ 2、检测本机的C:\Windows\System32\drivers\etc\hosts配置文件下面有没有这个域名映射

​ 有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问

​ 没有:去DNS服务器寻找,找到的话返回,找不到的话报错

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kHm8a5Vs-1597151382089)(C:%5CUsers%5Cclsld%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20200809122254625.png)]

发布一个web网站

​ 将自己写的网站,放到服务器(Tomcat)中指定的web应用的文件夹(webapps)下,就可以访问网站该有的结构

--webapps:Tomcat服务器的web目录
    -root
    -clsld:网站的目录名
    	-web-INF
    		-classes:java程序
    		-lib:web应用所依赖的jar包
    		-web.xml:网站配置文件
    	-index.html 默认的首页
    	-static
    		-css
    			-style.css
    		-js
    		-img
    	-......
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值