目录
一 搭建服务器端
1.1安装服务器软件
1.2检查环境是否配置
1.3安装Tomcat
二 创建并发Web项目
2.1创建一个java项目
三 创建Servlet
前端程序如何才能访问到后端程序呢,这时候我们就需要web服务器来解决:将后端程序部署到服务器中,这样前端就可以远程访问,并且向前端做出反应
一 搭建服务器端
服务器:可以放置文件有求必应的软件,宏观意义服务器是软件+硬件,连接用户与程序
1.1安装服务器软件
1.2检查环境是否配置
设置JAVA_HOME环境变量
JAVA_HOME的值就是 Java 所在的目录
JAVA_HOME 指向的是JDK的安装路径
设置PATH环境变量
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。
1.3安装Tomcat
解压tomcat压缩文件 打开bin目录下的startup.bat文件
通过 http://127.0.0.1:8080/ 可以访问服务器代表成功
之后关掉服务器
二 创建并发Web项目
2.1创建一个java项目
选择JavaEE下的WebApplication
在idea中集成tomcat进来,并将web后端项目部署到tomcat中
选择Tomcat Server中的Local后选择Configure
注意选择bin 的上一级,这样就完成了Tomcat的集成
再将java项目部署 到Tomcat上
然后点击apply应用
三 创建Servlet
Servlet是Server Applet的简称,意思为用Java编写的服务器端的程序,它运行在web服务器中。web服务器负责Servlet和客户的通信以及调用Servlet方法,Servlet和客户通信采用“请求/响应的模式。
Servlet的作用:
1.接收用户发送的请求
2.调用其他的java程序来处理请求
3.根据处理结果,服务器将响应返回给客户端
3.1创建和使用Servlet
创建一个类继承javax。servlet,http包下的HttpServlet
在web.xml文件配置Servlet
运行Servlet程序
init( ),service( ),destroy( )是Servlet生命周期的方法。代表了Servlet从“出生”到“工作”再到“死亡 ”的过程。Servlet容器(例如TomCat)会根据下面的规则来调用这三个方法:
1.init( ),当Servlet第一次被请求时,Servlet容器就会开始调用这个方法来初始化一个Servlet对象出来,但是这个方法在后续请求中不会在被Servlet容器调用,就像人只能“出生”一次一样。我们可以利用init( )方法来执行相应的初始化工作。调用这个方法时,Servlet容器会传入一个ServletConfig对象进来从而对Servlet对象进行初始化。
2.service( )方法,每当请求Servlet时,Servlet容器就会调用这个方法。就像人一样,需要不停的接受老板的指令并且“工作”。第一次请求时,Servlet容器会先调用init( )方法初始化一个Servlet对象出来,然后会调用它的service( )方法进行工作,但在后续的请求中,Servlet容器只会调用service方法了。
3.destory,当要销毁Servlet时,Servlet容器就会调用这个方法,就如人一样,到时期了就得死亡。在卸载应用程序或者关闭Servlet容器时,就会发生这种情况,一般在这个方法中会写一些清除代码。
/*
创建serlvet
1.自己创建类,并继承HttpServlet,这样我们的类也就遵守了javaEE规则
2.重写父类中init service,destory方法
3.在web.xml文件中配置Serlvet
*/
public class LoginServelet extends HttpServlet {
/*无参构造方法,只被调用一次/一个servlet类只被创建一个对象
什么时候调用:servlet生命周期的开始
1.第一次向servlet程序发送请求时(默认的)
2.服务器启动时创建,需要在web。xml中配置<load-on-startup></load-on-startup>,默认值为负数
* */
public LoginServelet() {
System.out.println("无参构造方法");
}
/*init初始化ser的,在sevlet对象构造方法执行完毕后执行
是ser规范中必须调用的方法
如果没有什么初始化执行的,默认会调用父类中init()*/
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("init");
}
@Override
public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
System.out.println("sevice");
System.out.println(req.getParameter("account"));
System.out.println(req.getParameter("password"));
}
*//* 服务器关闭时候调用*//*
@Override
public void destroy() {
System.out.println("destroy");
}