JavaWeb学习之初识Servlet

文章目录

  • 前言
  • 一、Servlet是什么?
  • 二、第一个Servlet程序
    • 1、打开ideal,新建一个web项目
    • 2、给项目配置Tomcat
    • 3、创建第一个Servlet
      • 1.在src下新建一个包,在包下新建java类
      • 2.该类继承HttpServlet
      • 3.书写Servlet程序
      • 4.配置web文件
      • 5.运行第一个servlet
  • 三、可能出现的乱码问题
    • 1、ideal启动Tomcat服务器后出现乱码
    • 2、打印内容到浏览器出现乱码


前言

才疏学浅,能力有限,文章中有什么错误,欢迎评论指出,一起进步~

本文的前提,默认电脑上已经装了ideal和Tomcat服务器。

一、Servlet是什么?

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。

JavaWeb学习之初识Servlet_第1张图片

二、第一个Servlet程序

1、打开ideal,新建一个web项目

JavaWeb学习之初识Servlet_第2张图片
注意:需要勾选上Web Application。点击next。
JavaWeb学习之初识Servlet_第3张图片
给项目起个名字。然后点击finish。这样就创建了一个web项目了。

2、给项目配置Tomcat

JavaWeb学习之初识Servlet_第4张图片
点击Add configuration,然后跳出如下界面:
JavaWeb学习之初识Servlet_第5张图片
点击左上角的加号,添加Tomcat,如下:
JavaWeb学习之初识Servlet_第6张图片
本机有Tomcat,直接点击Local。跳转到如下页面:
JavaWeb学习之初识Servlet_第7张图片
点击右下角的Fix,自动添加给Tomcat添加项目。如下:
JavaWeb学习之初识Servlet_第8张图片
点击OK,配置Tomcat完成!

3、创建第一个Servlet

1.在src下新建一个包,在包下新建java类

JavaWeb学习之初识Servlet_第9张图片

2.该类继承HttpServlet

JavaWeb学习之初识Servlet_第10张图片
此时HttpServlet类报红了,说明类库中没有该类,需要导包。步骤:

  1. 在将Tomcat的lib目录中找到servlet-api.jar
  2. 在WEB-INF文件夹下创建libs包
  3. 将servlet-api.jar复制到刚刚创建的libs包中
  4. 右击libs下的servlet-api.jar,点击add as Library,导包完成。
    JavaWeb学习之初识Servlet_第11张图片

3.书写Servlet程序

如下:

package demo;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 1-创建一个类,继承HttpServlet
 * 遇到包找不到,将Tomcat下lib目录中的servlet-api.jar导入到项目WEB-INF下的lib包里
 *添加为项目包即可
 */

public class ServletDemo01 extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().println("Hello Servlet");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    }
}

只写这样的java代码还不能在通过服务器将需要打印的语句显示在浏览器上。所以,还得配置文件。

4.配置web文件

双击web.xml文件
JavaWeb学习之初识Servlet_第12张图片
在其中书写以下代码:

<!-- 配置servlet -->
    <servlet>
        <!-- 配置servlet的名称 -->
        <servlet-name>Demo01</servlet-name>
        <!-- 配置Servlet类的全路径 -->
        <servlet-class>demo.ServletDemo01</servlet-class>
    </servlet>

    <!-- 配置Servlet的映射 -->
    <servlet-mapping>
        <!-- 配置servlet的名称 -->
        <servlet-name>Demo01</servlet-name>
        <!-- 配置访问路径 -->
        <url-pattern>/ServletDemo01</url-pattern>
    </servlet-mapping>
  • 配置servlet中的名称和配置servlet-mapping中的名称得一致。
  • servlet-mapping中的访问路径可以不和类名相同,其作用是在浏览器中,通过该访问路径,找到servlet-name,然后通过servlet-name找到类的全路径,通过类的全路径,找到该类。

5.运行第一个servlet

点击右上角运行按钮,自动启动Tomcat服务器。
JavaWeb学习之初识Servlet_第13张图片
运行后自动打开网页。然后在网页地址栏后面接着输入程序的访问路径,即在servlet-mapping下的访问路径名。如下:
JavaWeb学习之初识Servlet_第14张图片

JavaWeb学习之初识Servlet_第15张图片

此页面表示,程序正确执行,并打印成功。

三、可能出现的乱码问题

1、ideal启动Tomcat服务器后出现乱码

JavaWeb学习之初识Servlet_第16张图片
解决方案:
Tomcat的conf文件下的logging.properties文件中的java.util.logging.ConsoleHandler.encoding改成GBK。如图:
JavaWeb学习之初识Servlet_第17张图片
JavaWeb学习之初识Servlet_第18张图片

2、打印内容到浏览器出现乱码

如图:
JavaWeb学习之初识Servlet_第19张图片
解决方案:
在代码前面加上编码格式,如下:

public class ServletDemo01 extends HttpServlet{

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置浏览器编码格式
        resp.setContentType("text/html;charset=utf-8");
        resp.getWriter().println("我是servlet第一个程序!");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    }
}

运行结果:
JavaWeb学习之初识Servlet_第20张图片

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