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

Servlet

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

Servlet

Servlet简介
  • Servlet就是sun公司开发动态web的一门技术
  • Sun在这些API中提供一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个小 步骤:

1.编写一个类,实现Servlet接口

2.把开发好的Java类部署到web服务器中。

把实现了Servlet接口的Java程序叫做,Servlet

HelloServlet

Serlvet接口Sun公司有两个默认的实现类:HttpServlet,GenericServlet

  1. 构建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这个项目里面建立 Moudel;这个空的工程就是Maven主工程;
  2. 关于Maven父子工程的理解:

父项目中会有


        servlet

子项目会有


fuxi
  org.example
  1.0-SNAPSHOT

父项目中的java子项目可以直接使用

 son extends father
Maven环境优化

1. 修改web.xml为最新的

2. 将maven的结构搭建完整

编写一个Servlet程序

  1. 编写一个普通类
  2. 实现Servlet接口,这里我们直接继承HttpServlet 
  • 响应英文不需要编码
public class HelloServlet extends HttpServlet {
//由于get或者post只是请求实现的不同的方式,可以相互调用,业务逻辑都一样;
@Override
protected void doGet(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
//ServletOutputStream outputStream =resp.getOutputStream();
PrintWriter writer = resp.getWriter(); //响应流
writer.print("Hello,Serlvet");
}
@Override
protected void doPost(HttpServletRequest req,
HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
  • 响应中文需要在PrintWriter writer = resp.getWriter();上面写响应中文的编码(
    resp.setContentType("text/html; charset=UTF-8");
    ),否则浏览器会显示乱码。
public class HallowServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html; charset=UTF-8");
        PrintWriter writer=resp.getWriter();
        writer.print("你好!");
    }

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

    }
}
编写Servlet的映射

为什么需要映射:我们写的是JAVA程序,但是要通过浏览器访问,而浏览器需要连接web服务器, 所以我们需要再web服务中注册我们写的Servlet,还需给他一个浏览器能够访问的路径



hello
com.kuang.servlet.HelloServlet



hello
/hello

配置Tomcat

注意:配置项目发布的路径就可以了

启动测试,OK!

设置启动Tomcat访问的优先级

启动tomcat进行访问localhost:8080时会默认访问index.jsp页面,在web.xml里添加如下代码:

 
    hello
  

就可以使用localhost:8080直接访问到我们自己写的Servlet

Servlet原理

Servlet是由Web服务器调用,web服务器在收到浏览器请求之后,会:

 Mapping问题

1. 一个Servlet可以指定一个映射路径


hello
/hello

2. 一个Servlet可以指定多个映射路径


hello
/hello


hello
/hello2


hello
/hello3


hello
/hello4


hello
/hello5

3. 一个Servlet可以指定通用映射路径


hello
/hello*.properties
***.properties
**/*.xml

true


访问测试即可ok

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

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

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