2022-08-29 day37 第一小组 王鸣赫

1|0JAVA web

1|1一,软件架构

  1. c/s架构:客户端 / 服务器
  2. b/s架构:浏览器 / 服务器

1|2二,资源分类

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

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

1|3三,常见的wed服务器

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

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

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

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

1|4四,常见的服务器软件

1|0动态服务器

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

1|0静态服务器

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

1|0Tomcat

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

1|0Tomcat的启动

双击 bin/startup.bat文件

1|0Tomcat的关闭

双击 bin/shutdown.bat文件

1|0访问

http:1270.0.1:8080

1|5五,Tomcat部署项目

1|6六,Servlet

1|0Servlet

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

1|0创建Servlet

  1. 实现 javax.servet.Servlet 接口

  2. 继承 javax.servlet.GenericServlet 类

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

引包 放在WEB-INF下的lib包

1|0Servlet生命周期

  1. 初始化 -- inti方法
  1. 实例化 -- 构造器
  1. 调用 serice 方法,处理请求
  1. 销毁 -- destory方法

1|0前台和后台简单实现

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>

1|0实现方式一: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>

1|0实现二: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方法执行了..."); } }

1|0注意:

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


__EOF__

本文作者404notfond
本文链接https://www.cnblogs.com/wmh19990109/p/16658771.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   404notfond  阅读(4)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示