Web开发概述
web开发指的就是网页向后再让发送请求,与后端程序进行交互
web后端(javaEE)程序需要运行在服务器中
这样前端才可以对其进行进行访问
什么是服务器?
解释1:
服务器就是一款软件,可以向其发送请求,服务器会做出一个响应.可以在服务器中部署文件,让他人访问
解释2:
也可以把运行服务器软件的计算机也可以称为服务器
web交互流程图如下:
web服务器指的是驻留在因特网上某种类型计算机的程序
可以向浏览器等web客户端提供文档,也可以放置网站文件,让全世界哦浏览;它是一个容器,是一个链接用户与程序之间的中间件
web服务器有很多,流行的web服务器有Tomcat,WebSphere,WebLogic,Jboss
在小型的应用系统或者有特殊需求的系统重视,可以使用一个免费的Web服务器:Apache的Tomcat,该服务器支持全部JSP以及Servlet规范
APacha软件基金会(Apache Software Foundation)是专门为运作一个开源软件项目的Apache的团体提供支持的非盈利性组织
Web开发环境搭建
服务器软件安装
Tomcat
Tomcat是一个基于Java的HTTP服务器,它是Sun通过Java Community Process开发并用servlet和JavaServer Page(JSP)技术的正式参考实现。Tomcat的安装和配置都需要一定的步骤,但是在Eclipse集成环境下,可以更加方便地进行开发和调试
首先到官网下载tomcat安装包
Tomcat官方站点:http://tomcat.apache.org
安装JDK
配置环境变量
首先打开环境变量页面
新建一个JAVA_HOME系统变量
将JAVA_HOME的路径设置为bin的上一级路径
若是没配置过Path中的java\bin路径
则需要打开Path
将java的bin路径配置在其中
解压Tomcat压缩文件
Tomcat文件结构
在Tomcat文件中的bin目录中 双击startup.bat命令启动
出现这个页面就代表启动成功
访问
自己的ip地址 :8080
更改启动端口地址
打开conf文件夹
打开server.xml文件
找到该区域,将port改为想要的端口号
创建并发布web项目
在idea中集成Tomcat(修改代码后,会自动将项目重新部署到Tomcat中)
首先创建一个javaEE项目
勾选web profile选项 命名创建
创建完成后需要配置Tomcat
打开configurations页面,选择Tomcat中的local,在右边文件夹中选择Tomcat文件里bin的上一级,并对该配置进行改名,取消勾选After launch
创建完成后只需要点击绿色三角形就能启动
重写java中的方法
在java文件夹中创建包,在包中创建一个类继承HttpServlet
/*
创建一个类 继承HttpServlet ,这个类就是一个javaEE程序
在web.xml文件配置,想歪提供一个访问地址,就可以在浏览器中访问,找到对应的程序
*/
public class DemoServlet extends HttpServlet {
/*
无参构造方法,默认是存在,初始化创建的对象
只被调用一次(始终只创建一个对象),在第一次访问servlet程序由服务器创建执行
*/
public DemoServlet(){
System.out.println("无参构造方法");
}
/*
init()初始化,在构造方法执行完成后,立即被调用执行
完成一些servlet程序的初始化(例如,读取配置文件中参数)
也是只执行一次
init方法在没有需要初始化操作时,可以不用重写,服务器会调用父类中的init方法
*/
@Override
public void init(ServletConfig config) throws ServletException {
System.out.println("init");
}
/*
service()用来接受前端请求,为前端提供服务
每次前端发送的请求都会调用service(),多次调用
HttpServletRequest rea: 表示请求对象,前端提交过来所有的数据都由服务器封装在此对象中
HttpServletResponse resp : 表示相应对象,用来向前端相应数据
*/
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("service");
}
/*
destroy(),当服务器关闭的时候.如果程序想要最终执行某些操作,就可以在destroy方法中实现
在没有最终执行的一一些操作时,也可以不用重写,但是服务器会调用父类中空的destroy方法
*/
@Override
public void destroy() {
System.out.println("destory");
}
}
servlet对象的生命周期
servlet对象在第一次访问servlet程序时由服务器创建
初始化阶段:在构造方法执行完成后,调用init方法执行一些初始化操作
服务阶段:每一次请求调用service方法
销毁阶段:服务器关闭时,销毁servlet对象,并且在销毁对象时会自动调用destroy方法,执行一些最终操作
之后还需要在webapp中的WEB-INF文件夹里打开web.xml
配置servlet程序和访问地址
<!--
.xml文件:ml结尾,是一种标记语言,设计的目的是用来在项目中存储配置信息的,制定好可以使用那些标签即可
web.xml文件:存储web后端项目配置信息,
在服务器启动时由服务器加载读取的
-->
<!--
配置servlet程序,把我们开发的servlet程序注册对服务器,有服务器启动时加载,在第一次访问时,由服务器创建对象
-->
<servlet>
<servlet-name>demo</servlet-name>--> <!-- 定义对象名 -->
<servlet-class> com.ffyc.dormServer.web.DemoServlet</servlet-class> <!-- 注册servlet程序 -->
<init-param> <!-- 向servlet中配置一些参数 -->
<param-name>count</param-name>
<param-value>10</param-value>
</init-param>
</servlet>
<!--为servlet配置访问地址-->
<servlet-mapping>
<servlet-name>demo</servlet-name> <!-- 为指定name的servlet程序配置访问地址 -->
<url-pattern>/demo</url-pattern> <!-- 配置的供额外 -->
</servlet-mapping>
注意,在配置servlet访问地址时,url-pattern内部的地址前需要加/
配置完成后访问直接用
ip地址:端口/项目名/demo(访问地址)
此时打开控制台就会发现调用了之前重写的方法