1.客户 servlet容器 servlet
2.实现接口
#1.接口:servlet :
constrontor 、init()、service、destroy
getServletInfo() getServletConfig()
3.流程
#1.创建一个servlet类实现servlet接口
#2.重写servlet类方法
#3.在web.xml里配置文件
#4.在服务器里运行
4.一个servlet可以写多个servlet-mapping
映射只有两种方式:*.扩展名 || 以/开头并以/*结尾
5.ServletConfig:
#1.封装了Servlet配置信息,并且获取ServetContext对象
#2. String getInitParameter(String name)
Enumeration getInitParameterNames()
ServletContext getServletContext()
String getServletName()
#3.配置servlet初始化参数
*1.在web.xml内配置
*2.局部的初始化参数(只有servlet可以获取,给要给servlet用)
6.ServletContxt:
#1.可以获取web信息的全面信息,大管家
*1.设置全局初始化参数(给多个servlet用)
String getInitParameter(String name)
Enumeration getInitParameterNames()
#2.获取当前web应用的一个文件的绝对路径
getRealPath();(获取的服务器上的绝对路径,而不是部署前的路径)
#3.获得当前web应用名称:
getContextPath()
#4.获取当前web应用的某个文件的对应输入流
getResourceAsStream(String pahth): path 相对于当前web的根目录
7.ServletRequest:封装了请求信息,可以从中获取任何请求信息
#1.方法:
String getParameter(string name):根据请求参数名,返回参数值
Map getParameterMap():
String[] getParameterValues(String name)
Enumeration getParameterNames()
#2.获取请求的URL
进行强转:HttpServletRequest (请求相关的方法)
getMethod() getQueryString()
getServletPath() getRequsetURI()
8.ServletResponce:封装了响应信息,如果想给用户传什么信息
#1.方法:
getWriter()://返回要给PrinterWriter对象,调用print,打印到浏览器上
setContentType() //设置返回类型
9.属性相关:
#1.方法
Object getAttribute(String name);
Enumeration getAttributeNames();
removeAttribute(String name)
void setAttribute(String name, Object o)
#2.对象
pageContext : 作用范围仅限于当前页面
request: 作用范围为同一个请求
session : 作用范围为同一个会话(浏览器打开到关闭)
application : 作用范围为web应用
10.请求转发
#1.RequstDispatcher接口 #forward(path):只发出一次请求(请求转发):只能转发到当前页面
“/”代表当前web应用的根目录
#response.sendRedirect(path): 向服务器发送两个请求(请求重定向):可以重定向到资源
代表当前web站点的根目录
jsp指令:告诉jsp引擎如何处理页面的其他部分
1.page、 include 、 taglib
2.page指令:指定当前页面的属性,(可放于任何位置,但通常放于首页)
#1、language="java"
contentType="text/html" :指定当前页面相应类型,实际调用类型(可以为html ,doc等格式)
charset = "UTF-8" :指定返回页面的编码:("UTF-8")
pageEncoding = "UTF-8" :指定当前页面的字符编码,通常可contentType一致
impot = “java.util.*” :导入页面的类包
extend=".class"
session="true| false"
errorPage = "url" :转发到指定错误页面 ,也可以在web.xml配置错误页面
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/error.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/WEB-INF/error.jsp</location>
</error-page>
isErrorPage = "true | false" :会显示错误信息
isELIgnored = "true | false" :指定当前页面是否可以使用EL表达式,通常取值为true
3.include: 用于通知jsp引擎在翻译当前页面时将其他文件的内容合并到当前页面转换成的Servlet源文件中
,成为静态导入,当前jsp页面与静态引入的页面紧密的结合为一个servlet
#1.<%@ include file = "relativeURL" %>
4.taglib:标签
#1.jsp:include page="url"
*1.<jsp:include > 动态包含,有两个.java文件
#2.jsp:forward page="url"
*1.相当于转发
*2.使用jsp:forward可以使用jsp:param子标签向b.jsp传入一些参数
<jsp:forward page="b.jsp">
<jsp:param value = "abc" name="user"/>
</jsp:forward>
<%= request.getParmeter("user")%>