Tomcat

Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,是开发和调试JSP程序的首选,实现了对Servlet和JavaServer Page的支持,并提供Web服务器的一些特有功能。

tomcat自然就很好理解了,tomcat是servlet容器,同时它也包括了web服务器的功能,因此tomcat是web服务器的扩展,也可以理解为tomcat就是web服务器。

Maven

Maven项目架构管理工具

目前用来方便导入jar包的

核心思想:约定大于配置

配置环境变量

  • M2_HOME maven的下bin目录
  • MAVEN_HOME maven的目录
  • 在系统path中配置 %MAVEN_HOME%\bin
  • 用 mvn -version 测试

配置文件 settings.xml

在安装目录/conf下

阿里云镜像:

repo1 central Human Readable Name for this Mirror. http://repo1.maven.org/maven2/

repo2 central Human Readable Name for this Mirror. http://repo2.maven.org/maven2/

  1. **本地仓库**
  2. > **建立本地仓库**:localRepository
  3. ```xml
  4. <localRepository>/path/to/local/repo</localRepository>

Idea中使用:idea 默认全局配置maven,避免每次新建项目都需要指定自己的maven目录

Servlet

简介:Servlet是用Java编写的服务器端程序,Servlet就是一种用来处理网络请求的一套规范。

  • API接口,想开发Servlet需要两个步骤:
    • 编写一个类,实现、Servle接口
    • 把开发好的Java类部署到web服务器中

把实现了Servlet接口的Java程序叫Servlet

helloSevlet

Serlvet接口Sun公司有两个默认的实现类:HttpServlet,GenericServlet


Servlet接口 ——> GenericServlet ——> HttpServlet ——> 我们的类只需要继承HttpServlet即可

| |

| ↓

↓ 对方法进行了重写

  1. void init(ServletConfig var1) throws ServletException;
  2. //Servlet接口的一些方法
  3. ServletConfig getServletConfig();
  4. void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException; //***
  5. String getServletInfo();
  6. void destroy();

1,构建一个maven项目,删掉里面的src目录,之后在此项目中建立Model;这个空项目就是Maven主工程;

2,Maven父子工程理解;

  1. 父项目中会有:
  1. <modules>
  2. <module>servlet-01</module> //开始起的名字
  3. </modules>
  1. 子项目中会有:
  1. <parent>
  2. <artifactId>javaweb-02-servlet</artifactId> //开始起的名字
  3. <groupId>com.kuang</groupId>
  4. <version>1.0-SNAPSHOT</versio>
  5. </parten>

父项目中的Java子项目可以直接使用

  1. son extends father //类似多态

3,Maven环境优化

  1. 1.修改web.xml为最新
  2. 2.maven的结构搭建完整

4,编写一个Serlvet程序

  1. 1.编写一个普通类
  2. 2.实现Serlvet接口,直接继承HttpServlet
  1. public class HelloServlet extends HttpServlet {
  2. //由于get或者post只是请求实现的不同的方式、可以相互调用,业务逻辑都一样;
  3. @Override
  4. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  5. //// super.doGet(req, resp);
  6. //ServletOutputStream outputStream = resp.getOutputStream();
  7. PrintWriter writer = Serp.getWriter(); //响应流
  8. writer.print("hello,Servlet");
  9. }
  10. @Override
  11. protected void doPost(HttpServletRequest req, HttpservletResponse resp) throws ServletException, IOException {
  12. doGet(req, resp);
  13. }
  14. }

5,编写Servlet的映射

  1. 理由:我们所写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们所写的Servlet,还需要给他一个浏览器能访问的路径;
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3 .org/ 2001/XMLSchema instance"
  4. xsi:schemaLocation="http://xmlns.jcp.org/ xml/ns/javaee
  5. http://xmlns.jcp.org/xml/ns/ javaee/web-app _4 0.xsd"
  6. version="4.0"
  7. metadata-complete="true">
  8. <!--注册Servlet-->
  9. <servlet>
  10. <servlet -name >hello</ servlet- name>
  11. <servlet-class>com.kuang.servlet.HelloServlet</servlet-class>
  12. </servlet>
  13. <!--Servlet的请求路径-->
  14. <servlet-mapping>
  15. <servlet-name>hello</servlet-name>
  16. <url-pattern>/hello</url-pattern>
  17. </servlet-mapping>
  18. </web-app>

6,配置Tomcat

  1. 注意,配置发布的路径就可以