JAVA WEB

JAVA web

一,软件架构

1. c/s架构:客户端 / 服务器

2. b/s架构:浏览器 / 服务器

二,资源分类

1. 静态资源:所有用户访问后,得到的结果都是一样的(html,css,js,图片...)

2. 动态资源:每个用户访问相同的资源,得到的结果可能不一样,动态资源在被访问后,需要先转换成静态资源,在返回给浏览器,通过浏览器来进行解析

nginx:动静分离

三,常见的wed服务器

1. 服务器:安装了服务器软件的计算机

2. 服务器软件:接受用户的请求,处理请求后,给出响应

3.wed服务器软件:接受用户的请求,处理请求后,给出响应

  在web服务器软件中,可以部署web项目,让用户通过浏览器访问这些项目

四,常见的服务器软件

动态服务器

  • webLogic : oracle公司出品,大型的web服务器,几乎支持了所有的javaEE规范
  • webSphere : IBM公司,大型的web服务器,几乎支持了所有的javaEE规范
  • jBoss : jBoss公司,中型的javaEE服务器,几乎支持了所有的javaEE规范
  • Tomcat : Apache基金会,中小型的web服务器,支持少量的javaEE规范,开源免费

静态服务器

  • Nginx :代理,反向代理,动静分离,极高的并发
  • Apache 

Tomcat

  • bin :存放一些批处理脚本文件,可处理文件
  • conf :(config)存放tomcat相关配置文件
  • lib :(library)Tomcat依赖的jar包
  • logs :存放日志
  • temo :临时文件目录
  • webapps :Tomcat默认的web应用部署目录
  • work :web应用JSP代码身生成和遍历的临时目录

 

Tomcat的启动

  双击 bin/startup.bat文件

Tomcat的关闭

  双击 bin/shutdown.bat文件

访问

  http:1270.0.1:8080

五,Tomcat部署项目

六,Servlet

Servlet 

  • 就是一个普通的java类 
  • 处理请求,给出响应的类

创建Servlet

1. 实现 javax.servet.Servlet 接口

2. 继承 javax.servlet.GenericServlet 类

3. 继承 javax.servlet.http.HtppServlet 类(*)

引包 放在WEB-INF下的lib包

Servlet生命周期

1. 初始化 -- inti方法

2. 实例化 -- 构造器

3. 调用 service 方法,处理请求

4. 销毁 -- destory方法

 

前台和后台简单实现

web  / WEB-INF 下新建 lib 导入servelt-api.jar 

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--
    get请求怎么发?
-->
<a href="hello.do">get请求</a>
<form action="hello.do" method="post">
    <input type="submit" value="提交">
</form>
</body>
</html>

实现方式一: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>-->
    <!--        <servlet-name>hello</servlet-name>-->
    <!--        <servlet-class>com.jsoft.afternoon.HelloServlet</servlet-class>-->
    <!--    </servlet>-->
    <!--    <servlet-mapping>-->
    <!--        <servlet-name>hello</servlet-name>-->
    <!--        <url-pattern>/hello.do</url-pattern>-->
    <!--    </servlet-mapping>-->
</web-app>

实现二:java 类 

package ServletTest;

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;

/**
 * 现在我们这个HelloServlet已经是一个真正的serlvet了
 * 已经具备了处理请求,给出响应的功能
 *
 * 一个类如果想要解决问题,必须得有方法!
 *
 * 我们当前的servlet只是具备了处理请求的功能,
 * 它到底处理哪一个请求?
 *
 * 需要对我们的servlet做一个配置
 *
 */
@WebServlet("/hello.do")
public class HelloServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 处理get请求
        System.out.println("doGet方法执行了...");
        System.out.println("我是doget方法...");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 处理post请求
        System.out.println("doPost方法执行了...");
    }
}

注意:

  • 在 xml 里注册 servlet 不可与注解同时用,用注解不要用 xml 实现
  • Settings 在 Build,Execution,Deployment 下 Complier 勾选 Build project automatically

 

posted @   一只神秘的猫  阅读(136)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示