1、创建JAVAEE项目使用到环境使用到环境tomcat为9,jdk版本为1.8
直接下一步里面有一些库什么的现在用不到直接下一步
像这样我们就创建好项目了
2、解释
Servlet是运行在Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他HTTP客户端的请求和HTTP服务器上的数据库或应用程序之间的中间层。使用Servlet可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。本章内容详细讲解了web开发的相关内容以及servlet相关内容的配置使用,是JAVAEE开发的重中之重。
3、创建和使用Servlet
-创建一个类继承HttpServlet
-web.xml配置Servlet路由
-WebServlet配置Servlet路由
-写入内置方法(init service destroy doget dopost这些方法都是HttpServlet内置方法)
创建项目的时候自动创建了HelloServlet类继承了HttpServlet
我们创建IndexServlet继承HttpServlet
写一个doget方法他就是有访问就会执行里面的代码
我们要访问到这里就要在web.xml里面配置名字地址和路由
配置路由,当我们访问/index的时候就会访问到上面添加的class地方
当我们每次刷新都会用到我们index里面的方法
如果想让回显到页面
doPost方法
我们创建一个新的servlet这次不再web.xml里添加路由
@WebServlet("/new")使用这种方法也可以访问
这道这些我们就能明白路由在哪里看了
4、Servlet生命周期
package com.example.hello; import javax.servlet.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; public class IndexServlet extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { String name=request.getParameter("name");//接收参数名 PrintWriter out=response.getWriter();//显示到页面中 out.println("name:"+name); System.out.println("--------doGet"); //super.doGet(request, response); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String name=req.getParameter("name");//接收参数名 PrintWriter out=resp.getWriter();//显示到页面中 out.println("name:"+name); System.out.println(name); System.out.println("--------doPost"); //super.doPost(req, resp); } @Override public void init(ServletConfig config) throws ServletException { System.out.println("------init"); super.init(config); } @Override public void destroy() { System.out.println("-----destroy"); super.destroy(); } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { System.out.println("----service servlet"); super.service(req, res); } @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("----service HttpServlet"); super.service(req, resp); } }
5数据库操作
JDBC(Java Database connectivity): 由java提供,用于访问数据库的统一API接口规范.数据库驱动: 由各个数据库厂商提供,用于访问数据库的jar包(JDBC的具体实现),遵循JDBC接口,以便java程序员使用!
1、下载jar
登录网站查mysql(后面如果用到fastjson,log4j等也要来这里下jar包)
2、引用封装jar
创建lib目录,复制导入后,添加为库
3、注册数据库驱动(这里有报错的话直接添加异常签名)
Class.forName("com.mysql.jdbc.Driver");
4、建立数据库连接
String url ="jdbc:mysql://localhost:3306/demo01";
Connection connection=DriverManager.getConnection(url,"x","x");
下面爆红是因为需要引入东西
import java.sql.*;
5、创建Statement执行SQL
Statement statement= connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
6、结果ResultSet进行提取
while (rs.next()){ String username= rs.getString("username"); String uagent=rs.getString("uagent"); System.out.println(username+"--"+uagent); .......... }
JDBC&Mybatis&库都有预编译方法所以在java中sql注入是很少的
预编译:就是它已经把语句写死了你参数后面输入的值都会当成参数去执行而不是sql语句去执行了