用户(浏览器)访问服务端的什么东西?
静态Web资源 html css js
用户在访问静态资源的时候 这些资源不会变
动态Web资源 jsp Servlet
用户在访问动态资源的时候
访问内容是由代码生成的
例如 不同用户访问不同的资源
服务器
Tomcat服务器 sun公司 开源 免费的
轻量级服务器 公司里常用的服务器
注意:咱们写的java代码 和 前端html页面
全都是放到服务器上运行
(服务器端开发 是开发放到服务器上运行的代码 而不是开发一个服务器出来)
JavaEE 规范服务器的一套规则(类和接口)
jsp和servlet 就是这套规范的一部分
Tomcat服务器下文件夹
bin 存放编译指令的(开启关闭服务)
conf 存放Tomcat自己配置文件的
lib 存放Tomcat依赖的jar包
logs 存放用户访问服务器的日志(查看错误)
temp 存放临时文件的
webapps 默认存放 应用程序的文件夹(你的工程)
work 存放tomcat自己工作文件
wtpwebapps 与 elicpse 关联后 工程存放的文件夹
利用命令行(终端开启tomcat服务)
1.前往tomcat 的 bin 文件夹下
2.开启文件管理权限(读写权限)
sudo chmod 755 *.sh
3.开启服务(windows下 执行的是 .bat后缀的指令)
sudo sh ./startup.sh
注意:不要重复开启服务 否则会出现端口被占用错误
(关了才能再开)
----------------------访问服务器上的资源
访问网址:
http://IP地址:端口号/项目名称/访问的资源
通过这个网址 查看tomcat服务是否启动
* 访问的网址
* URL 统一资源定位符
* http://localhost:8080/test/HelloWorld.html
* URI 统一资源标识符
* /test/HelloWorld.html
4.关闭服务
sudo sh ./shutdown.sh
* 工程被编译到服务器
* 实际上是把工程目录下的
* WebContent 文件夹编译进去
* (WebContent本身不出现)
* META-INF 扩展应用程序文件夹(暂时没用)
* WEB-INF 存放着工程的所有资源
* lib 存放工程使用的jar包
* (不用添加路径 会自动编译到服务器上)
* web.xml 工程的配置文件
* classes
* 工程编译到服务器上出现的
* 里面保存的是 你工程中的类的.class文件
* 注意:WEB-INF文件夹下存放的资源 是不能
* 直接通过网址去访问
* Servlet(小服务程序) 是个java接口
* 访问服务器 实际上是访问的就是
* Servlet(容器 有访问动态资源)
* javax.servlet.Servlet 包下的
* 注意:如果报错或提示不出来
* 在library修改或添加tomcat到你的工程中
* Servlet 的生命周期方法
* 实例化 --> 初始化 --> 服务方法 --> 销毁方法
* Servlet 只是第一次访问时 创建一次
* 当你再次访问该servlet是
* 不会创建新的servlet
* 只会重复调用服务方法 service方法
<servlet>
<servlet-name>demo04</servlet-name>
<servlet-class>com.lanou3g.Demo04</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo04</servlet-name>
<!-- 利用通配符配置路径 -->
<!--
1. /demo04 配置的是绝对路径
2. *.后缀名 *.action
3. /*
4. /系统使用默认的配置方式 但是不是给你用的!
凡是通过服务器访问的资源 都是servlet
jsp html
注意:2 3方式不能一起使用
匹配路径的优先级
据对匹配 > / > 后缀的
-->
<url-pattern>/*</url-pattern>
</servlet-mapping>
<!-- 一个servlet配置多个访问路径 -->
<servlet-mapping>
<servlet-name>demo04</servlet-name>
<url-pattern>/demo999</url-pattern>
</servlet-mapping>
* 简单谈谈servlet的访问流程
* 用户发出一个请求
* (http://localhost:8080/sh-web-01/demo01)
* 系统如何能创建出对应的servlet出来?
* 1.通过用户请求的网址
* 服务器会获取到 项目的名称 /sh-web-01
* 2.找到你对应的项目后 从项目中找到
* 该项目的web.xml文件
* 3.从web.xml文件中
* 可以找到访问servlet的路径(/demo01)
* 4.通过servlet的路径 找到用户
* 要访问哪一个servlet的名字(demo01)
* 5.通过servlet的名字 就能找到 要创建的servlet 属于哪个类
* 6.系统就会通过反射创建该类的对象
* 然后 就走生命周期的4个方法