Servlet

在这里插入图片描述


Servlet:
java类必须符合一定的规范:
a.必须继承 javax.servlet.http.HttpServlet
b.必须重写其中的doGet()或doPost()方法
c.配置:
Servlet2.5 :
web.xml
< servlet >
< servlet-name >随便名字,一般同类名< /servlet-name >
< servlet-class >全类名< /servlet-class >
< /servlet >

< servlet-mapping >
< servlet-name >名字同上< /servlet-mapping >
< url-pattern >访问路径,(如/Servlet) < /url-pattern >
< /servlet-mapping >

Servlet3.0 :
@WebServlet:
在Servlet类的定义处上写 注解@WebServlet(value = “url-patternd的值”)value = 可不写


根目录问题:(如Web项目中src和WebContent都是构建路径,根目录)
如果:index.jsp中请求< a href = “abc” >…< /a >,既在src根目录中找,也会在WebContent中找abc
< a href = “a/abc” >…< /a > 现在src或webContent中找a目录,再找abc

/:
web.xml中,/代表项目根目录:
http://localhost:8080/Project/
jsp中,/代表服务器根目录:
http://localhost:8080/


Servlet生存周期

加载
初始化 init() : Servlet被加载并实例化的以后执行
服务 service() -> doGet() doPost()
销毁 destory() : 服务关闭时执行
卸载

init():
a.第一次访问Servlet时会被执行,仅一次
b. 可修改为服务启动时自动执行:

2.5:在web.xml中要设置的servlet的servlet标签里加< load-on-startup >1< /load-on-startup >,其中1为设置多个servlet时的启动顺序

3.0 :注解内加 loadOnStartup = 1


所有javax.servlet.http包中的类和接口都继承、实现于

ServletConfig
该接口主要方法:
ServletContext getServletContext() //获取Servlet上下文对象 application

String getInitParameter(String name) // 在当前Servlet范围内,获取名为name的参数值
即获取初始化参数;设置初始值方法:
2.5:
web.xml
< servlet >
< >
< / >
< /servlet >

3.0
在注解中加 initParams = { @WebInitParam(name = " " , value = " ") }

a. ServletContext中常见方法(application):
getContextPath(); getRealPath();
setAttribute(); getAttribute();

String getInitParameter(String name) // 在当前Web容器范围内,获取名为name的参数值
只在web.xml中
< context - param >
< param - name >name< /param - name >
< param - value >value< /param - value >
< /context - param >

HttpServletRequest、HttpServletResponse
request、response就是各自的对象


编码问题

request.setCharacterEncoding(“utf-8”);

response.setCharacterEncoding(“utf-8”);
response.setContentType(“text/html;charset=UTF-8”);//可去jsp处复制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值