Web服务器

Web服务器

什么是服务器:
  • 硬件上就是一台配置很高的电脑
  • 软件上安装相应的软件,如果是Web服务器,安装Web容器。如:Tomcat
JavaEE的规范
  • 在Java中所有的服务器要实现一组Oracle公司规定的接口,这些接口称为JavaEE规范。不同厂商的JavaWeb服务器都实现了这些接口。在JavaEE中一共有13种规范。
  • 常见的JavaEE规范有:JDBC、XML、JSP、Servlet、EJB等。
什么是Web服务器

image

Web服务器是实现了JavaEE规范,并且运行在服务器上的软件。我们写的Java程序运行在Web服务器中。由Web容器去调用我们写的程序。Web容器也是用Java写的。


Tomcat服务器

在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat
支持的规范:该服务器支持全部JSP以及Servlet规范

image

安装包的类别:

image

  • exe版本:运行在windows服务器中,向服务中添加自动启动
  • zip:解压就可以使用,不用安装。
  • src: tomcat的源代码
  • 使用64位要求:

    1. 操作系统64位
    2. JDK要64位
    3. Tomcat也是64位

    不然使用32位

启动与关闭:tomcat默认的端口号是8080
  • 启动:bin目录下startup.bat

C:\apache-tomcat-7.0.70\bin>shutdown.bat

是否启动成功:

image

  • 关闭:bin目录下

C:\apache-tomcat-7.0.70\bin>shutdown.bat

Tomcat目录结构:

image

目录名作用
bintomcat的启动和关闭的一些可执行文件
confconfig配置,用于tomcat启动时的配置文件,如:server.xml
libtomcat启动时必须加载的jar包
logs服务器的日志记录文件
temp临时文件,服务器运行过程中出现垃圾文件
webapps我们的程序发布的文件夹,浏览器可以直接访问的目录
work工作目录,后期JSP运行时的工作目录

Tomcat启动时常见的问题:

未设置JAVA_HOME环境变量

出错信息:

image

最少要配置一个环境变量,因为tomcat是运行在JVM中,必须要配置JDK。

解决办法: 添加JAVA_HOME的环境变量(安装JDK然后配置的环境变量)

端口被占用

出错信息:

image

解决方法:

  • 方法一:找到占用端口号的程序,退出。使用软件

image

  • 方法二:修改tomcat默认的端口号

文件位置:tomcat/conf/server.xml

把8080改成8888端口号
image

重新启动服务器

image

然后打开浏览器在地址栏输入localhost:8888来访问


Tomcat项目的发布方式:

  • 方式一:
    直接将项目复制到webapps文件夹下就可以

image

webapps相当于地址栏的localhost:8080

  • 方式二:
    WebApps/ROOT 欢迎页面,WEB-INF/web.xml。修改欢迎页面
<!-- 配置欢迎页面 -->
<welcome-file-list>
    <welcome-file>b.html</welcome-file>
</welcome-file-list>

b.html在WebApps/ROOT文件夹下

我们的项目是发布到webapps的目录下面的,然后webapps会自动生成一个文件夹,里面就是我们的项目,然后项目里面有的src源代码生成的class字节码是放在WebRoot/WEB-INF/classes的目录下面(之前的class字节码是放在bin目录下的)

Web项目结构

image

  • lib: 第三方的各种jar库
  • classes: 源代码生成的字节码文件
  • web.xml: 配置当前的项目,其中servlet也在这里进行配置
开发Servlet步骤

1) 编写Java类,继承于HttpServlet抽象类

2) 重写doGet或doPost方法,分别用来处理get和post请求
3) 设置响应的MIME类型,text/html;charset=utf-8
4) 得到一个打印流PrintWriter向浏览器输出字符串:Hello Servlet!
5) 在web.xml文件中配置servlet,指定Java类全名,指定访问地址

public class HelloServlet extends HttpServlet {
    //2个参数:请求,响应
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException {
        //设置响应的MIME类型,text/html;charset=utf-8
        resp.setContentType("text/html;charset=utf-8");
        //得到一个打印流PrintWriter向浏览器输出字符串:Hello Servlet!
        PrintWriter out = resp.getWriter();
        out.print("<h1 style='color: red'>Hello Servlet</h1>");
    }
}
  1. 编写文件web.xml
<!-- 配置servlet -->
<servlet>
  <!-- servlet的名字 -->
  <servlet-name>hello</servlet-name>
  <!-- servlet的类全名 -->
  <servlet-class>Demo.HelloServlet</servlet-class>
</servlet>

<!-- 配置访问地址 -->
<servlet-mapping>
  <!-- 和servlet相同的名字 -->
  <servlet-name>hello</servlet-name>
  <!-- 访问地址 -->
  <url-pattern>/loveyou</url-pattern>
</servlet-mapping>
  1. 部署项目到tomcat
  2. 访问Servlet
    启动tomcat,输入地址
    image
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值