【课程要求】
学会servlet实现分层注册
【前导知识】
- 【关于jdbc连接的知识】
这个知识在以后也是经常用的,所以需要注意
1.加载驱动
2.创建对象
3.写sql语句
4.得到statement对象
5.执行sql得到结果集
6.处理结果集
7.关闭连接
【这些代码在后续的代码部分也会使用】 - 软件分层开发
bean:实体层,存放实体类
dao:持久层,用于存放数据库的增删改查
service:持久层
controller:控制层
- servlet是什么
- 答:servelt只是一个接口,其中的生命周期如下
简而言之,Servlet只是一个容器,tomcat才是与客户端直接打交道的,监听了端口,请求(response)过来后,根据url等信息,确定要将请求交给哪个servlet去处理,然后调用那个servlet的service方法,service方法返回一个response对象,tomcat再把这个response返回给客户端。
具体关于servlet的知识可以观看这个博客:
https://blog.csdn.net/qq_19782019/article/details/80292110
【实现过程】
-
初始化项目
使用JAVA EE->Web Application
对项目进行命名 -
配置tomcat服务器
注意configure里面要是自己安装tomcat的路径
development这里记得添加一下
在project structure里面导入servlet的包
目录:你所安装tomcat路径\lib\servlet-api.jar
创建项目后在web里面导入lib包
记得add as library,直到出现小箭头
-
设置servlet的生命周期
对servlet里面所有的方法进行重写
package com.zr.servlet;
import javax.servlet.*;
import java.io.IOException;
public class HelloServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
具体生命周期示意图如下:
当我们接受到服务之后我们需要打印输出流
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
servletResponse.getWriter().write("Hello,world");
}
- 那既然如此,要实现这个功能,就需要在web.xml里面进行配置
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.zr.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
效果展示:
总结:发起服务原理
- 在此基础上我们修改我们的默认页面index.jsp
action的意思是我们在login页面发起请求,提交方法是post
<%--
Created by IntelliJ IDEA.
User: 86136
Date: 2020/6/29
Time: 10:19
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body