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,今天就先到这里…