目录
[2.安装jdk ,配置JAVA-HOME path](#2.安装jdk ,配置JAVA-HOME path)
前端程序如何才能访问到后端程序?
后端程序为了能让前端能够远程的访问到,需要将后端的程序部署在服务器中,这样前端就可以远程访问,并且向前端做出反应
服务器:
严格意义上的服务器指的是一款软件,里面可以放置文件,让别人可以远程访问,并且有请求必有响应。
宏观意义上的服务器,是软件+硬件
服务器是一个容器,是一个连接用户与程序之间的中间件
一、后端开发准备工作
安装Tomcat服务器
1.下载
根据自己下载的jdk进行安装可以兼容的Tomcat版本
官网地址:Apache Tomcat® - 欢迎!
2.安装jdk ,配置JAVA-HOME path
java_home环境变量的地址是你下载的jdk目录的上一级
3.启动Tomcat
解压到你自己规定的目录下,进入bin目录,点击startup.bat启动Tomcat
注:修改服务器的端口号(前端的端口号也是8080,为了避免服务器与前端的端口发生冲突,对服务器的端口进行修改)
4.访问ip和端口
输入 http://localhost:端口号
或http:127.0.0.1:端口号
或局域网ip:端口号
二、创建web项目
1.新建一个项目
勾选创建成功后即可进行应用到服务器
2.发布web应用到服务器
(1)对LoginServlet继承HttpServlet
(2)重写父类方法
java
package com.ffyc.demo.servlet;
import com.ffyc.demo.dao.LoginDao;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class LoginServlet extends HttpServlet {
public LoginServlet() {
System.out.println("无参的构造方法");
}
@Override
public void init() throws ServletException {
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
}
@Override
public void destroy() {
}
}
(3)在web.xml文件中配置servlet
java
<?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">
<!--
xml文件:也是属于一种标记语言,但是与html不同,xml主要用来存储配置数据的
web.xml文件:是用来存储我们当前项目配置信息的,例如配置servlet,过滤器,监听器...
此文件是服务器启动时,由服务器读取,名字和位置都不能改
-->
<!-- 注册servlet -->
<servlet>
<servlet-name>demo</servlet-name><!--为servlet对象定义名称-->
<!--配置servlet类名,服务器启动时会创建此类的对象,只能创建一次-->
<servlet-class>com.ffyc.demo.servlet.LoginServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!--为servlet配置访问地址-->
<servlet-mapping>
<servlet-name>demo</servlet-name>
<url-pattern>/login</url-pattern><!--前端访问地址 必须以"/"开头-->
</servlet-mapping>
</web-app>
三、servlet对象生命周期
开始:在第一次访问/服务器启动时创建 调用无参构造 一次
初始化:在构造方法被执行完后,执行一些初始化操作 可以不写,会调用父类的 一次
服务:多次调用 每次请求都会调用service()
销毁:在服务器关闭时执行 执行一些必要的操作 可以不写,会调用父类的 一次
四、http协议
http 超文本传输协议 属于应用层协议 传输的内容必须是超文本内容(网页内容)
在网页上点击超链接,提交表单,都可以向后端发送一个http请求
一次http请求中包含了请求行,请求头,请求体
请求行
包含请求方式(get/post),请求的资源(地址)...浏览器自动发送的
请求头
包含客户端的一些韩静信息(浏览器版本,客户端ip...)
请求体
包含的是post请求向后端发送的数据
http请求分为get请求和post请求:
get
超链接发送的默认是get 表单 method="get"
主要用于从后端获取数据,也可以向后端传递少量数据
发送的数据在请求地址中包含,不在请求体中,发送的数量会有限制,也不安全
post
表单 method="post"主要是从前端向后端发送数据的
数据不在地址栏,在请求体中,可以发送大量数据,且相对get方式安全