servlet学习_days_01

Servlet ------->轻量级服务

①Servlet(Server Applet),是用 Java 编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。
狭义的 Servlet 是指 Java 语言实现的一个接口,广义的 Servlet 是指任何实现了这个 Servlet 接口的类,一般情况下,人们将 Servlet 理解为后者。

②每一个servlet都只处理客户发来的某一种请求。

③所有的let,lite都叫他轻量级内容

MVC分层框架

M:模型层,主要是处理实体类对象模型,数据库连接过程等
V:视图层,主要是模型展现给用户的过程,所有写在web文件夹中的内容都是视图层。
C:控制层,(我们主要的业务逻辑所在位置)
两个子分类:第一:路由过程------>获取用户发送的消息并且决定用户接下来会收到什么反馈的一个层
第二:业务过程----->负责处理用户发来的数据,并给出处理结果的层 (service层)

servlet的配置过程:

1、继承HttpServlet:

public class Mian extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println(req.getParameter("username"));		//获取到username的值
        System.out.println(req.getQueryString());			//获取用户发过来的数据
    }
}

Tomcat中的HttpServletRequest 负责获得客户端发过来的数据,HttpSevletResponse负责将想要给客户端的数据返回的工具。

2、配置xml文件:

<servlet>
    <servlet-name>register</servlet-name>			设置servlet的对象名称
    <servlet-class>com.ali.test</servlet-class>			请求发过来之后,根据反射加载com.ali.test这个类,并创建出servlet对象(register)
</servlet>
    <servlet-mapping>
        <servlet-name>register</servlet-name>
        <url-pattern>/register.do</url-pattern>			设置请求的命称,当浏览器访问过来的时候,根据请求名称找到对应的servlet对象(register)
    </servlet-mapping>

浏览器通过url访问到服务器端,服务器根据请求的名称找到对应的servlet类,根据反射加载这个类并创建对象
其实就是浏览器上访问本地tomcat的某一个映射时,就会创建mapping对应的类的对象

3、浏览器请求:
在这里插入图片描述
Request Headers(请求头):客户端要发送的请求
Response Headers(响应头):服务器向v层发送的数据

4、服务器接收数据:
在这里插入图片描述
这里注意:配置字符格式,要不然就会是乱码。

向浏览器返回数据的第一件事:

resp.setContentType("text/html; charset=utf-8");    //设置返回了浏览器字符格式位UTF-8

浏览器发送数据第二件事:

req.setCharacterEncoding("utf8");    //浏览器向服务器发送数据的格式位UTF-8

servlet向前端返回数据的三种方式

1、直接返回数据:

resp.getWriter().writer("nihao");

在这里插入图片描述
2、重定向

告诉浏览器一个地址,让浏览器去访问,浏览器就会跳转到这个页面上。

resp.sendRedirect("hello.html");

在这里插入图片描述

3、转发

服务器会将要转发的页面上的内容处理下来,然后发送给浏览器,这个时候你会发现URL还是之前的URL,浏览器并没有跳转。

req.getRequestDispatcher("hello.html").forward(req, resp);

在这里插入图片描述
ok,今天就先到这里…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值