JavaWeb基础知识
CS:客户端服务器架构模式
-
优点:充分利用客户端机器的资源,减轻服务器负荷。
-
(一部分安全要求不高的计算任务存储任务放在客户端执行,不需要把所有的计算和存储都在服务器端执行,从而能够减轻服务器的压力,也能够减轻网络负荷)
-
缺点:需要安装;升级维护成本较高。
BS:浏览器服务器架构模式
- 优点:不需要安装客户端;维护成本较低。
- 缺点:所有的计算和存储任务都是放在服务器端,服务器的负荷较重;在服务端计算完成之后把结果再传输给客户端,因此客户端和服务端会进行非常繁琐的数据通信,从而网络负荷较重。
Tomcat安装和配置
-
解压:不要有中文和空格
-
目录结构:
- bin 可执行文件目录
- conf 配置文件目录
- lib 存放lib的目录 用到的jar包
- logs 日志文件目录
- webapps 项目部署目录
- work 工作临时目录
- temp 临时文件目录
-
配置环境变量,让Tomcat跑起来
- 因为tomcat是用java和C来写的,因此需要JRE,所以需要配置JAVA_HOME
- 启动tomcat,然后访问主页
-
新建web项目,部署到tomcat
- 再webapps新建一个文件夹 -》 context root
- 文件夹下放一个 WEB-INF 文件夹
- 项目放在WEB-INF同级
在idea下新建javaweb项目-部署-运行
- 新建java项目。然后添加web依赖
接下来配置tomcat
Servlet入门
1、用户发请求、action = add
2、tomcat中,web.xml 中找到url-patten = /add
3、找到 对应的 servlet-name = AddServlet
4、找和servlet-mapping中和servlet-name 一致的
5、继续找servlet-class 找到对应的类
6、用户发生的是post请求,因此tomcat会执行servlet-class 中的dopost方法
add.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="add" method="post">
名称:<input type="text" name="fname"/><br/>
价格:<input type="text" name="price"/><br/>
库存:<input type="text" name="fcount"/><br/>
备注:<input type="text" name="remark"/><br/>
<input type="submit" value="添加">
</form>
</body>
</html>
AddServlet.java,用于接收表单信息。
package com.atguigu;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class AddServlet extends HttpServlet {
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String fname = request.getParameter("fname");
String priceStr = request.getParameter("price");
Integer price = Integer.parseInt(priceStr);
String fcountStr = request.getParameter("fcount");
Integer fcount = Integer.parseInt(fcountStr);
String remark = request.getParameter("remark");
System.out.println("fname:"+fname);
System.out.println("price:"+price);
System.out.println("fcount:"+fcount);
System.out.println("remark:"+remark);
}
}
WEB-INF下的配置文件: web.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-name>AddServlet</servlet-name>
<servlet-class>com.atguigu.AddServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>AddServlet</servlet-name>
<url-pattern>/add</url-pattern>
</servlet-mapping>
<!--
1、用户发请求、action = add
2、tomcat中,web.xml 中找到url-patten = /add
3、找到 对应的 servlet-name = AddServlet
4、找和servlet-mapping中和servlet-name 一致的
5、继续找servlet-class 找到对应的类
6、用户发生的是post请求,因此tomcat会执行servlet-class 中的dopost方法
-->
</web-app>