静动态页面
html cs js jQuery
都是静态
JSP:
动态网页
静态,动态本质区别:
1.不是说有动感的就是动态网页;
2.随着时间,地点,用户操作的改变而改变。
比如:百度搜索天气,会显示今天的天气,会随着时间,地点而改变。
动态网页,需要用到服务端脚本语言(JSP)
两种架构:
CS:client server 服务端和客户端
比较美观 响应快一些
不足:如果软件升级,那么全部软件都需要升级。
需要维护每一台机器上的软件。
每一台客户都需要安装客户端软件。
BS:browser server 服务端和浏览器
客户端可以通过浏览器直接访问服务器
服务端升级用户不需要升级
维护方便
jsp用 tomcat服务器(www.apache.org)
安装tomcat的流程
下载完解压后 bin:放可执行文件
conf:配置文件(server.xml)
lib:放tomcat依赖的jar包
log: 放日志文件(记录出错)
temp:临时文件
webapps:存放tomcat的可执行项目(将我们开发的项目放进去)
work:存放由jsp翻译成的java,以及编译成的class文件
jsp -> java -> class
之后配置tomcat
配置 jdk(必须配置JAVA_HOME PATH ClassPath)
配置 Catalina_home 环境变量里弄
然后再bin里运行 startup.exe 启动成功说明配置成功
关闭点 shutdown.exe
启动常见的错误,与其他服务的端口号冲突 tomcat默认端口号为 8080 建议修改 因为此端口较为常见
怎么修改端口号呢?
去cong里,server.xml 69行可以改端口号
访问tomcat localhost:8080
如果是ie浏览器 需要加前缀 http 当前界面默认就是root
常见状态码
404:资源不存在
200:一切正常 看不见一般
403:权限不足(访问的文件不可见)
300/301:页面重定向(跳转)
500: 服务器内部错误(代码有误)
其他:积累,建一个记一个
项目必须有的文件 WEB-INF 里面有 classes,lib,web.xml 在tomcat里的lib放jar包 和在 自己定义的项目里的lib不同,tomcat里的lib是全局有效,而自己创建的项目里lib只对当前项目有效。
在WEB-INF里建一个index.jsp 写点html先来作为了解结构用,html head title body
之后手动 startup.exe 然后访问就好了
jsp是什么?
在html中嵌套java代码叫做jsp 默认先打开 index.jsp 可以welcome file list 指定默认开启哪个jsp文件作为初始页面
jsp里的java语言有错,会报500错误。
如何配虚拟路径?
将web项目配置到webapps以外的目录中
方式一:进conf里的sever.xml 找到148行左右,appBase指定的就是虚拟路径 默认为webapps,在底下加个 docBase = “实际路径” path = “相对路径” />
缺点:需要重启;
方式二:不需要重启,进conf catalina localhost 新建文件.xml 名字为项目名把那句配置语句放下 docBase = “实际路径” path = “相对路径” />然后就ok了 还不用重启,是不是很nice,甚至可以偷梁换柱,直接在这里吧项目名改为ROOT (默认项目名),访问时不用加文件夹的地址直接localhost:8080/index.jsp就可以看到在别的文件夹中的项目了。
虚拟主机?
可以把项目变个名字 诈骗常见
域名解析:
www.baidu.com 会去域名解析器 比如在 西部数码,新网,万网,将域名转换为IP地址
但是域名在去网络上的域名解析器之前会在本机上找,本机上找到就不上网找了
现在实现一下虚拟主机
先进 conf server.xml
128行 engine 配里面的host 再加一个host
path = “/”/>
上面还有一个 engine defaulthost 改为 www.test.com
然后告诉解析器 当访问这个域名直接访问本机
C: Windows/System32/divers/etc/hosts打开 除了映射localhost的127.0.0.1以外 再加一个 你自己写的那个www.test.com保存 关闭 就好了
但是访问的时候,还是要加上端口号,www.test.com:8080
怎么把这个8080也给干掉呢?
默认端口号改一下
进server.xml文件改端口号为80,就好了,完美?
jsp的执行流程
第一次访问: 服务端将jsp编译成java,再将java编译为class文件,最终执行的是class文件
第二次访问:直接执行class文件
所以第一次慢一点,第二次快,
如果服务端修改了代码,将会在访问时重新编译class文件
jsp ->java(Servlet文件) - > class文件
jsp和 Servlet文件可以相互转换
开发Web项目(JSP项目)
跳转有两种方式:请求转发和重定向