笔记
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; } }
学习编程可以去百度搜索:杨校,或者点击下方友情链接直接进入