IDEA创建Servlet

使用了MVC框架之后,就再没用过Servlet,导致很多基础的东西都忘得差不多了。
但是MVC框架的底层实现是基于servlet,通过实现Servlet接口的DispatcherServlet来封装其核心功能实现,将请求分派给处理程序。

今天就来回顾了一些Servlet,在IDEA中创建Servlet项目。

1、创建项目

image_1cd9k8ujc182315ig18jm10js9fqm.png-98.9kB

2、创建Servlet

image_1cd9kcn93157m1bt51if10251vb123.png-247.2kB

image_1cd9kemlfrsa66abs14gq1osj2g.png-27.7kB

勾选Create Java EE 6 annotated class这个选项就是在Servlet类中添加注解,就不用手动在web.xml配置<servlet><servlet-mapping>了,通过注解当然更方便。

接下来,在创建好的Servlet类里的doGet()方法中添加如下代码,方便之后的测试:

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Hello Servlet!");

如下图:

image_1cd9kndn3oum16s31fu0ldl1j7k2t.png-105.9kB

3、配置Tomcat

配置Tomcat就不用说了。

Tomcat配置好之后,这个时候Servlet类还在报错:
Httpservlet cannot be resolved to a type
显然是因为找不到相应的包,即javax.servlet.

jdk里不包括servlet-api.jar这个包,此包在Tomcat中存在。
其实直接引入Tomcat依赖就可以了,如下图:

image_1cd9l9e031v5hpfa30h1san1hp04n.png-90kB

image_1cd9la8gvg8q129f949jksu8l54.png-27.3kB

上图为修改Tomcat libs的过程,其实就是修改了servlet-api.

4、启动,测试

映射地址为:

@WebServlet(name = "servletDemo")

启动Tomcat,访问:http://localhost:8080/servletDemo

image_1cd9mdcq01eb8gio1h6h43scre5h.png-30.7kB

成功。

5、不使用注解,在web.xml中定义映射

<servlet>
    <servlet-name>servlet-demo</servlet-name>
    <servlet-class>com.vito.servlet.ServletDemo</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>servlet-demo</servlet-name>
    <url-pattern>/servletDemo</url-pattern>
</servlet-mapping>

<web-app>标签里有个属性:metadata-complete值为true表示容器在部署时将只依赖部署描述文件,忽略所有的注解(同时也会跳过 web-fragment.xml 的扫描,亦即禁用可插性支持);
如果不配置该属性,或者将其设置为false,则表示启用注解支持(和可插性支持)。

posted on 2018-05-12 16:18  Yoooshiki  阅读(1596)  评论(0编辑  收藏  举报

导航