servlet

1、servlet:server + let(服务器端小程序)
applet:application + let(客户端小程序)


jsp:java server pages(服务器端页面)


http:Hyper Text Transfer Protocol,超文本传输协议
基于请求和响应


2、
a:创建Servlet,继承HttpServlet,重写doGet和doPost方法
b:配置WEB_INF/web.xml文件
 <servlet>
  <servlet-name>HelloServlet</servlet-name>
  <servlet-class>com.qf.servlet.HelloServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>HelloServlet</servlet-name>
  <url-pattern>/HelloServlet</url-pattern>
  </servlet-mapping>




在地址栏中,直接访问Servlet,默认为get请求


3、乱码问题
a:Servlet输出中文,应该设置响应字符集,在创建输出流之前设置
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");


b:post请求,如果含有中文,设置请求字符集
request.setCharacterEncoding("utf-8");


c:get请求,默认字符集ios8859-1,需转换成utf-8
String name = new String(username.getBytes("iso8859-1"), "utf-8");


4、页面跳转
a:重定向:response.sendRedirect("failure.html");
地址栏改变,显示跳转的页面


b:请求转发:request.getRequestDispatcher("success.jsp").forward(request,response);
地址栏不改变,显示Servlet


传值:
在Servlet中,在请求范围内设置属性值
request.setAttribute("username", username);


在jsp页面,使用jsp内置对象获得属性值,并显示
<%
String username = request.getAttribute("username").toString();
%>
欢迎<%
out.print(username);
%>登录!


<% %> ,java程序片,在jsp页面,可以直接编写java代码
可以直接使用request,out,因为是jsp内置对象


<%= %>,jsp表达式,可以输出变量或表达式的值,结尾不加分号



5、在Servlet中获得html的表单的值
request.getParameter(name); 
name:表单元素的名字,比如:文本框,密码,性别,下拉列表。。。


request.getParameterValues(name)
name:复选框的名称


6、Servlet生命周期
init(),service(),destroy()


生命周期三个阶段:
a:初始化阶段,调用init方法
Servlet被装载后,Servlet容器实例化Servlet对象,调用init方法进行初始化,在Servlet的整个生命周期中,init方法只被调用一次


在下列时刻Servlet容器装载Servlet:
1)、Servlet容器启动时,自动装载Servlet
2)、Servet容器启动后,首次向Servlet发送请求
3)、Servlet文件修改之后,重新装载


b:响应客户请求阶段,调用service方法
Servlet处理客户的请求,并对客户进行响应。
首先客户发送一个请求,Servelt会调用service方法进行响应,service方法根据请求进行匹配,看是get还是post,会选择调用doGet和doPost方法,对用户进行响应。


c:终止阶段,调用destroy方法
当web应用被终止,或servlet容器被终止,servlet容器重新装载Servlet实例时,会调用destroy方法,释放servlet所占用的资源


重点:总结 servlet的生命周期
           servlet在第一次被访问到的时候服务器创建出Servlet对象,创建出对象后立即调用init方法           做初始化操作,创建出的对象会一直驻留在内存中为后续对这个Servlet的访问服务每次对这             个Servlet的访问都会导致servlet中service方法执行,当web应用被移除容器或服务器被关闭            时,随着web应用的销毁Servlet会被销毁,在销毁之前服务器会调用Servlet的destroy方法做            一些善后的工作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值