栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

HelloServlet

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HelloServlet

什么是Servlet
  • Servlet是一种技术,用来开发动态Web资源;
    • 所谓动态资源,就是不同人在不同时间请求到的页面内容是不相同的,可以通过jdbc跟数据库交互,获取定制化数据。这种生成动态Web页面的工作就由Servlet负责。此时就需要将Servlet映射成URL请求地址,以供客户端访问,具体实现见下文。
    • 静态资源,展示给每个人的内容都是相同的,是写死在资源文件系统中的(/webapp文件夹下,比如/webapp/header.html),不需要Servlet的参与。资源请求路径:http://localhost:8080/header.html

  • Servlet是一种JavaEE规范,所以在java中以Servlet接口的形式存在。
  • Servlet是一种运行在服务器上的小程序,由服务器调用。能够接收来自客户端浏览器的HTTP请求,并做出响应。请求的分配(调用哪一个Servlet对象)以及结果的返回由服务器负责。
如何开发一个动态Web资源(以HelloServlet为例) 1. 编写抽象类HttpServlet的子类,重写doGet/doPost方法处理请求,做出响应。在配置之前,HelloServlet只是一个普通的Java类。
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

// 在配置之前,HelloServlet就是一个普通的java类,无法处理来自前端的请求并返回响应
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html");
        // 响应的输出的字符流
        PrintWriter out = resp.getWriter();
        out.println("");
        out.println("");
        out.println("Hello World!");
        out.println("");
        out.println("");
        out.println("Hello World!");
        out.println("");
        out.println("");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req, resp);
    }
}
2. 在web.xml配置文件中注册Servlet并配置URL映射。
  • Tomcat根据此配置文件找到请求路径对应的的资源。
  • 找到之后,调用相应的Servlet对象的doGet/doPost方法处理请求,并返回响应结果。


    
    
    
    
    
        helloServlet
        HelloServlet
    

    
    
        
        helloServlet
        
        
        /Jing
    


3. 在Tomcat中部署应用
  • 设置Application Context(根路径),用来区分部署在同一个Tomcat中的多个应用。

4. 启动Tomcat,访问资源
  • 默认访问index.jsp

  • 访问静态资源header.html

  • 访问动态资源localhost:8080/JavaWeb01/Jing

中文乱码问题 原因:编码格式不统一 
  •  未给响应内容设置编码格式,默认的编码格式为ISO-8859-1;而浏览器的编码方式(GBK或者UTF-8),所以无法对响应返回的中文进行正确编码。

 解决方式
  • 给响应response设置内容编码格式,与浏览器统一。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号