MVC&Servlet

[toc]

1.MVC设计模式

M:模型:一个功能。用JAVABean实现
V:视图:用于展示、用户交互。使用HTML、JSS、JS、JSP、JQUERY等前端技术实现
C:控制器:接受请求,将请求套转到模型进行处理;模型处理完毕之后,再将处理的结果返回给请求处。可以用JSP实现,但是一般建议用Servlet实现控制器。

MVC&Servlet

2.Servlet

是个JAVA类,但有要求:
 a.必须继承javax.servlet.http.HttpServlet
 b.重写其中的doGet()或doPost()方法

  doPost():接受并处理所有post提交方式的请求

Servlet要想使用,必须配置
if Servlet2.5:web.xml
if Servlet3.0:@WebServlet

Servlet2.5的配置:

Servlet

在index.jsp有一个超链接请求 <a href="WelcomeServlet">xx</a>
然后在这个配置文件中,url-pattern会拦截这个,要去找对应的类,通过servlet-name去找对应的类(两个servlet—name是用来对应配对的)

Servlet3.0不需要配置Web.xml,但需要在Servlet类的定义处之上编写注解@WebServlet(“url-pattern的值”)
匹配流程:<a href>中的请求地址与@WebServlet中值匹配,如果成功,则说明请求的就是该注解所对应的类

3.回顾创建第一个Servlet

3.1纯手工生成

步骤:
 1.编写一个类,继承HttpServlet,并且重写doGet和doPost方法
 2.编写web.xml中的servlet映射关系

3.2借助Eclipse快速生成servlet

 在包那里右键new一个servlet,弄好了之后你就会发现web.xml自动写好了映射关系。
 servlet的那个类名一般和url-pattern的一样
 如果index.jsp中请求<a href="abc">...</a>,则既会在src根目录(也叫构建路径)里面找,也会在WebContent根目录里面找
 web.xml中/:第一个/代表在localhost:8080/Project/里面
 jsp中的/:第一个/代表在localhost:8080/中

3

4.Servlet生命周期

加载->初始化->服务->销毁->卸载
加载、卸载:Servlet容器自动处理,我们不用管
初始化:init(),该方法会在Servlet被加载并实例化之后执行
服务:service(),具体的实现是doGet doPost
销毁:destroy(),Servlet实例被系统回收时执行

init():第一次访问时被执行,只执行这一次
service():doGet doPost调用几次执行几次
destroy():关闭tomcat服务时,执行一次

5.Servlet API

 由两个软件包组成,对应HTTP协议的软件包和除了HTTP协议以外的其他软件包

6.Servlet继承关系

ServletConfig:接口
ServletContext getServletContext():获取Servlet上下文对象,appli就是它产生的一个对象
String getInitParameter(String name):在当前Servlet范围内,获取名为name的参数值(即初始化参数)

ServletContext中常用方法(当做application):
getContextPath():相对路径
getRealPath():绝对路径
setAttribute()、getAttribute()
String getInitParameter(String name):在当前Web容器范围内,获取名为name的参数值(即初始化参数)

Servlet3.0方式给当前Servlet设置初始值
@WebServlet(…initParams={@WebInitParam(name=”servletparaname30”,value=”servletparavalue30”)})

4

 HttpServletRequest中的方法同jsp的request一样,例如setAttribute() getCookies() getMethod()
 HttpServletResponse中的方法同jsp的response一样
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值