MVC设计模式+servlet

MVC设计模式

1.mvc

M:model,模型,一个功能

V:view,视图,用于展示、以及与用户交互,使用html、js、css、jsp、jquery等前端技术实现

C:controller,控制器:接收请求,将请求跳转到模型处理,处理完毕后,再将处理的结果返回给请求处。可以使用jsp实现,但是一般建议使用servlet实现

JSP->java(servlet)->jsp

MVC设计模式+servlet_第1张图片

2.servlet:

java类必须符合一定的规范:

1)必须继承 javax.servlet.http.HttpServlet

2)重写其中的doGet()或doPodt()方法

doGet():接收并处理所有的get请求

doPost():接收并处理所有的post请求

servlet使用必须配置:

servlet2.5:web.xml

servlet3.0:@WebServlet

  <servlet>
  	<servlet-name>servlet-name>
  	<servlet-class>servlet-class>
  servlet>
  <servlet-mapping>
  	<servlet-name>servlet-name>
  	<url-pattern>url-pattern>
  servlet-mapping>

MVC设计模式+servlet_第2张图片

servlet流程:

请求->->根据中的去匹配中的,然后寻找到,将请求交给该servlet

步骤

1)在src中新建java类,继承HttpServlet

2)重写doget和dopost方法

3)在web.xml中填写映射关系

3.servlet 3.0

servlet 3.0不需要再web.xml中进行配置,需要在servlet类中的定义之上编写注解@WebServlet(“url-pattren的值”)

匹配流程:请求地址与注释中的值进行匹配

4. 根目录

两个:WebContent、src(所有 的构建路径)

/代表:

web.xml中的/代表项目根目录:http://localhost:8080/Project

jsp中的/代表服务器根目录:http://localhost:8080/

5.servlet生命周期

5个阶段

MVC设计模式+servlet_第3张图片

加载

初始化:init():该方法会在servlet被加载并实例化之后执行

服务:service()

销毁:destroy():servlet被系统回收时

卸载

init():

1)默认第一次访问servlet时会被执行(只执行这一次)

2)可以修改为tomcat启动时自动执行

2.1)servlet 2.5:

  <servlet>
    <servlet-name>aservlet-name>
    <servlet-class>com.yhy.servlet.WelcomServletservlet-class>
  	<load-on-startup>1load-on-startup>
  servlet>

其中“1”表示优先级

2.2)servlet 3.0

在servlet类中定义的上方添加

@WebServlet(value="/WelServlet",loadOnStartup=1)

6.servlet API

由两个软件包组成:对应于HTTP协议的软件包,对应于除了HTTP协议的软件包

1.servlet继承关系

  • servletConfig接口:

    ServletContext getServletContext();获取上下文对象 application

    String getInitParameter(String name);在当前servlet范围内,获取名为name的参数值(初始化参数)

    • ServletContext中的常见方法(application)

      getContextPath()

      getRealPath()

      setAttribute()、getAttribute()

      String getInitParameter(String name):在当前Web容器范围内,获取名为name的参数值(初始化参数)

赋值:

servlet 2.5

web.xml

...
  
  <context-param>
  	<param-name>globalParaparam-name>
  	<param-value>global value..param-value>
  context-param>
  
  
  
  <servlet>
    <servlet-name>aservlet-name>
    <servlet-class>com.yhy.servlet.WelcomServletservlet-class>
  	<init-param>
  		<param-name>servletparaparam-name>
  		<param-value>servlet para..param-value>
  	init-param>
  	<load-on-startup>1load-on-startup>
  	
  servlet>
  <servlet-mapping>
    <servlet-name>aservlet-name>
    <url-pattern>/servleturl-pattern>
  servlet-mapping>
web-app>

servlet 3.0

局部参数

@WebServlet(value="/WelServlet",loadOnStartup=1,initParams={@WebInitParam(name="servletpara",value="servlet value..")})

你可能感兴趣的:(javaweb,servlet)