听说你JavaWeb学的不好?(六)

93 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情

解决Tomcat服务器在DOS命令窗口中的乱码问题(控制台乱码)

将CATALINA_HOME/conf/logging.properties文件中的内容修改如下:

java.util.logging.ConsoleHandler.encoding = GBK

向浏览器响应一段HTML代码

public void service(ServletRequest request, ServletResponse response){
    //设置响应内容为普通文本或者html代码,字符集为utf-8
    //设置响应内容要在获取流之前
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.print("<h1>hello servlet!</h1>");
    /*
        这是一根输出流,负责输出字符串到浏览器
        这个输出流不需要我们刷新,也不需要我们关闭,这些都由Tomcat来维护
        out.flush();
        out.close();
    */
}

在Servlet中连接数据库,怎么做?

  • Servlet是Java程序,所以在Servlet中完全可以编写JDBC代码连接数据库。
  • 在一个webapp中去连接数据库,需要将驱动jar包放到WEB-INF/lib目录下。(com.mysql.cj.jdbc.Driver 这个类就在驱动jar包当中。)

在集成开发环境当中开发Servlet程序

  • 集成开发工具很多,其中目前使用比较多的是:

    • IntelliJ IDEA(这个居多,IDEA在提示功能方面要强于Eclipse,也就是说IDEA使用起来比Eclipse更加智能,更好用。JetBrain公司开发的。收费的。)
    • Eclipse(这个少一些),Eclipse目前还是有团队使用,只不过处于减少的趋势,自己从事工作之后,可能会遇到。Eclipse是IBM团队开发的。Eclipse寓意是“日食”。“日食”表示将太阳吃掉。太阳是SUN。IBM团队开发Eclipse的寓意是吞并SUN公司,但是2009年的时候SUN公司被Oracle公司并购了。IBM并没有成功并购SUN公司。
  • 使用IDEA集成开发工具开发Servlet

    • 第一步:New Project(我比较习惯先创建一个Empty Project(最下面那个),然后在空工程下新建Module【模块】,这不是必须的,根据个人情况

    • 第二步:新建模块(File --> new --> Module...)

      • 这里新建的是一个普通的JavaSE模块(这里先不要新建Java Enterprise模块,直接选最上面那个Java就行)
      • 这个Module自动会被放在javaweb的project下面。
      • 这个Module起名:servlet01
    • 第三步:让Module变成JavaEE的模块。(让Module变成webapp的模块。符合webapp规范。符合Servlet规范的Module)

      • 在Module上点击右键:Add Framework Support...(添加框架支持)
      • 在弹出的窗口中,选择Web Application(选择的是webapp的支持)
      • 选择了这个webapp的支持之后,IDEA会自动给你生成一个符合Servlet规范的webpp目录结构。
      • 重点需要注意的:在IDEA工具中根据Web Application模板生成的目录中有一个web目录,这个目录就代表webapp的根
    • 第四步(非必须):根据Web Application生成的资源中有index.jsp文件,这里我选择删除这个index.jsp文件。

    • 第五步:编写Servlet(StudentServlet)

      • class StudentServlet implements Servlet

      • 这个时候发现Servlet.class文件没有。怎么办?将CATALINA_HOME/lib/servlet-api.jar和jsp-api.jar添加到classpath当中(这里的classpath说的是IDEA的classpath)

        • File --> Project Structrue --> Modules --> 右边栏中切换到Dependencies-->当前栏下方的 + 加号 --> Add JARS-->apply-->ok
      • 实现jakarta.servlet.Servlet接口中的5个方法。 alt + enter 快捷键