笔记

1. 先写一个表单 form

  • 提交到action得值。 以下代码意味着 要以交给 /tencentLesson/userServlet
    •  tencentLesson 是项目名称 ,表示要提交到这个项目内
    •     userServlet 是  WEB-INF\web.xml 文件中 得 url-pattern
    •     pattern 会找上一行得 servlet-name
    •     上一行得 servlet-name 会去找 servlet 中得 servlet-name
    •     servlet 中得 servlet-name 会去找 servlet 中得 servlet-class 就相当于是进入到了 UserServlet
    •     内容: 但凡是有name属性得输入框都会提交
    •     没有name属性则不提交。
<form action="/tencentLesson/userServlet"  >
     <table border="1px" width="438px" >
      <tr>
        <td>用户名:</td>
        <td>
          <input type="text" name="username" />
        </td>
      </tr>
       <tr>
         <td>密码:</td>
         <td> <input type="text" name="password" /> </td>
       </tr>
       <tr>
         <td>年龄:</td>
         <td><input type="text"/> </td>
       </tr>
       <tr>
         <td colspan="2"><input type="submit" value="登录" /></td>
       </tr>
     </table>
   </form>
/*
method 中的属性值get和post 有什么区别?
|--- get  :
1. 会将的你用户名和密码(或者是别的数据) 裸露在浏览器的地址栏中 【不太安全】
2. {前台提交给后台}提交方式非常快
3. 容量有限
|--- post :
1. 会将的你用户名和密码(或者是别的数据) 没有体现在浏览器的地址栏中 【安全】
2. {前台提交给后台}提交方式没有get快
3. 容量理论在讲 是无限的。
*/

web.xml文件得内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    version="4.0">
  <servlet>
    <servlet-name>UserServlet</servlet-name>
    <servlet-class>cn.javabs.houtai.UserServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>UserServlet</servlet-name>
    <url-pattern>/userServlet</url-pattern>
  </servlet-mapping>
</web-app>

UserServlet的源文件代码:

package cn.javabs.houtai;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class UserServlet extends HttpServlet {
  /*
    Request 请求
    Response 响应
    throws 抛 丢
  */
 
  /**
  * 为什么 这里面的代码没有执行?
 */
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
    String username = request.getParameter("username");//获取参数
    System.out.println("name:" + username);
 }
  /**
  * 为什么 这里面的代码执行了?
  * 
  */
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
    String username = request.getParameter("username");//获取参数
    System.out.println("names:" + username);
 }
}

图解:

 

 HttpServlet 从哪里来的?

思考: 如果没有 servlet-api.jar ,  HTTPServlet 会怎么办?

 

 深究登录案例 

  1. 先创建表

# 创建用户表
create table user(
id int PRIMARY key auto_increment,
  # QQ 用户名 不许为空: not null 还不能重复:UNIQUE(唯一)
username varchar(50) not null UNIQUE,
  # QQ 密码 不许为空: not null
password varchar(50) not null
);

  2. 了解MySQL驱动jar包的下载途径
    2.1 打开网站 https://mvnrepository.com
    2.2 搜索 MySQL
    2.3 点击第一个 ,下载5.1.38

 

 

  3. 导入MySQL的驱动jar包
    3.1 在项目的web/WEB-INF下创建一个文件夹 lib
    3.2 将下载的驱动包导入进lib中
    3.3 然后右键lib 进行选择到 add As Library
图解:

 

 编写JdbcUtil:

package cn.javabs.util;
import java.sql.Connection;
/**
* 链接数据库
*   1. 得有你要连接哪个数据库的驱动包 √
*   2. 得告诉我 是哪个数据库     尚未完成
*   3. 得告诉我 数据库用户名和密码   尚未完成
*/
public class JdbcUtil {
  public static Connection getConnection() throws ClassNotFoundException {
    // 1. 加载驱动
    Class.forName("com.mysql.jdbc.Driver");
    //TODO 没写完,周五继续。
    return null;
 }
}

学习编程可以去百度搜索:杨校,或者点击下方友情链接直接进入

友情链接:https://blog.csdn.net/kese7952

posted @ 2020-03-01 21:46  王纪雪  阅读(148)  评论(0编辑  收藏  举报