Idea—Tomcat—Mysql三者连接

Idea—Tomcat

  • 前期准备
    • 安装好Tomcat适用的JDK版本
    • 在doc窗口中,测试Tomcat,保证可以正常执行。
  • 第一步:New Project(我比较习惯先创建一个Empty Project【空工程】,然后在空工程下新建Module【模块】,这不是必须的,只是一种习惯,你可以直接新建非空的Project),这个Empty Project起名为:javaweb(不是必须的,只是一个名字而已。一般情况下新建的Project的名字最好和目录的名字一致。)

  • 第二步:新建模块(File --> new --> Module...)
    • 这里新建的是一个普通的JavaSE模块
    • 这个Module自动会被放在javaweb的project下面。
    • 这个Module起名:servlet02
      在这里插入图片描述点击Next点击next,进入模块命名
      在这里插入图片描述之后点击完成。

  • 第三步:让Module变成JavaEE的模块(让Module变成webapp的模块。符合webapp规范。符合Servlet规范的Module)

    • 在Module上点击右键:Add Framework Support…(添加框架支持)
    • 在弹出的窗口中,选择Web Application(选择的是webapp的支持)
    • 选择了这个webapp的支持之后,IDEA会自动给你生成一个符合Servlet规范的webpp目录结构。
    • 重点,需要注意的:在IDEA工具中根据Web Application模板生成的目录中有一个web目录,这个目录就代表webapp的根
      在这里插入图片描述点击OK,此时点开模块servlet02,会发现有一个web文件夹。
      在这里插入图片描述
  • 这里对servlet的结构做一个解释

    • JavaEE有13个不同的规范。web服务器JavaEE中的Servlet + JSP两个核心的规范。至于为什么需要实现sevlet规范,可以参考上一篇文章:模拟Servlet实现原理
    • 上文产生的web文件夹,就是规范的体现。
    • 一个合法的webapp目录结构:WEB-INF
 		 |------WEB-INF
         		  |------classes(存放字节码,程序员编写完程序,程序所生成的字节码文件存放处)
         		  |------lib(第三方jar包,连接JDBC时,需要mysql连接java的jar,此处为jar包的存放处)
         		  |------web.xml(注册Servlet,用户提供URL访问程序时,保证用户的URL和后端的java程序一一对应的映射关系存放此处)
         |------html (网页代码)
         |------css
         |------javascript
         |------image

  • 第五步:导入Servlet的jar包
    • 根据servlet原理,写的XXXservlet类需要实现servlet接口,此时如果没有导入servlet对应的jar包,发现Servlet.class文件没有找到。
    • 解决方法:File --> Project Structrue --> Modules --> + 加号 --> Add JARS…——>CATALINA_HOME/lib/servlet-api.jar和jsp-api.jar添加到依赖中
      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述在这里插入图片描述点击Apply。

  • 第六步:在Servlet当中的service方法中编写业务代码
    • 在src的servletTest包下创建StudentServlet类继承 Servlet,代码在后面
      • StudentServlet相当于web的小程序,用户需要访问该程序。

  • 第七步:在web.xml文件中完成StudentServlet类的注册。(请求路径和Servlet之间对应起来)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
         version="5.0">
    <servlet>
        <servlet-name>MyFirstServlet</servlet-name>
        <!--这个位置必须是带有包名的全限定类名-->
        <servlet-class>servletTest.StudentServlet</servlet-class>
    </servlet>
    <!--servlet映射信息-->
    <servlet-mapping>
        <!--这个也是随便的,不过这里写的内容要和上面的一样。-->
        <servlet-name>MyFirstServlet</servlet-name>
        <!--这里需要一个路径-->
        <!--这个路径唯一的要求是必须以 / 开始-->
        <!--当前这个路径可以随便写,是url的请求路径的一部分-->
        <url-pattern>/servlet/student</url-pattern>
    </servlet-mapping>
</web-app>

  • 第八步:给一个html页面,在HTML页面中编写一个超链接,用户点击这个超链接,发送请求,Tomcat执行后台的StudentServlet。
    • student.html

    • 这个文件不能放到WEB-INF目录里面,只能放到WEB-INF目录外面。——和上文符合规范的模板一样

    • 注意web.xml中的<url-pattern>/servlet/student</url-pattern>和html中的<a href="/test/servlet/student">student page</a>对应关系,html中多了一个根/test。第九步可以设置根,那里设置的根是什么,这里就写什么!
      在这里插入图片描述

    • student.html文件的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Student  Page</title>
</head>
<body>
    <!--这里的项目名是 /test ,无法动态获取,先写死-->
    <a href="/test/servlet/student">student page</a>

</body>
</html>

  • 第九步:让IDEA工具去关联Tomcat服务器。关联的过程当中将webapp部署到Tomcat服务器当中。
    • IDEA工具右上角,绿色小锤子右边有一个:Add Configuration
    • 左上角加号,点击Tomcat Server --> local
    • 在弹出的界面中设置服务器Server的参数(基本上不用动)
    • 在当前窗口中有一个Deployment(点击这个用来部署webapp),继续点击加号,部署即可。
    • 修改 Application context为:/test ——此处是设置的根,可以设置为其他的,如果设置为其他的,那么html中的<a href="/test/servlet/student">student page</a>也需要改变。
      在这里插入图片描述在这里插入图片描述

  • 第十步:启动Tomcat服务器
    • 在右上角有绿色的箭头,或者绿色的小虫子,点击这个绿色的小虫子,可以采用debug的模式启动Tomcat服务器。
    • 我们开发中建议适用debug模式启动Tomcat

  • - 第十二步:打开浏览器,在浏览器地址栏上输入:http://localhost:8080/test/student.html
    在这里插入图片描述
package servletTest;

import jakarta.servlet.*;
import java.io.IOException;
import java.io.PrintWriter;

public class StudentServlet implements Servlet
{
        @Override
        public void init(ServletConfig servletConfig) throws ServletException {

        }

        @Override
        public ServletConfig getServletConfig() {
            return null;
        }

        @Override
        public void service(ServletRequest request, ServletResponse response)
                throws ServletException, IOException {

            //向控制台输出
            System.out.println("My First Sevlet!");
            /**
             * 设置响应的内容类型:普通文本、html
             * 这样才能支持在方法内输出html
             * 且该设置需要在获取流之前设置
             */
            response.setContentType("text/html");

            /**
             * 将信息输出到浏览器上
             *  使用ServletResponse接口的response
             *  response :响应,从服务器向浏览器发送数据叫做响应
             */
            PrintWriter out =response.getWriter();
            out.println("My First Sevlet");
            /**
             * 浏览器能够识别HTML代码,那么能否在service方法中直接写html代码呢?
             */

        }

        @Override
        public String getServletInfo() {
            return null;
        }

        @Override
        public void destroy() {

        }
}

链接JDBC

  • 一个合法的webapp目录结构:WEB-INF
 		 |------WEB-INF
         		  |------classes(存放字节码,程序员编写完程序,程序所生成的字节码文件存放处)
         		  |------lib(第三方jar包,连接JDBC时,需要mysql连接java的jar,此处为jar包的存放处)
         		  |------web.xml(注册Servlet,用户提供URL访问程序时,保证用户的URL和后端的java程序一一对应的映射关系存放此处)
         |------html (网页代码)
         |------css
         |------javascript
         |------image
  • 由此可见,只需要在WEB-INF文件夹下创建一个lib文件夹,并将JDBC的jar包导入就可以。
    在这里插入图片描述
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值