1 jsp环境搭建及入门
1.JSP:动态网页
静态、动态:
1.网页是否能动,与静态、动态无关。
2.是否随着时间、地点、用户操作的改变而改变。
(动态网页需要使用到服务端脚本语言(JSP))
JSP :
{JSP 与 PHP、ASP、ASP.NET 等语言类似,运行在服务端的语言。(服务端脚本语言)
JSP(全称Java Server Pages)是由 Sun Microsystems 公司倡导和许多公司参与共同创建的一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML 或其他格式文档的Web网页的技术标准。
JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。
JSP文件后缀名为 *.jsp 。
JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。}
jsp:(宏观)嵌套在html中的Java代码
2.架构
CS:Client Server
BS:Browser Server
客户端可以直接通过浏览器直接访问服务端
3.tomcat目录
bin: 可执行文件(startup.bat shutdown.bat)
conf: 配置文件(server.xml)
lib: tomcat依赖的jar文件
(tomcat中的lib里放的jar包表示tomcat里所有项目都有这些jar包,而当前项目中的lib文件表明只有当前项目才有此lib文件里的jar包)
log:日志文件(tomcat运行后,记录出错等信息)
temp:临时文件
webapps:可执行的项目(将我们开发的项目 放入该目录)
work:(也可以理解为临时文件)存放由jsp翻译成Java,以及编辑成的class文件(jsp->java->class)
4.配置tomcat
5.访问tomcat
http://localhost:8080/
常见状态码:
200:一切正常(看不到)
404:要访问的资源不存在
403:权限不足(访问a目录,但是a目录设置:不可见)
300、301:页面重定向(跳转)
500:服务器内部错误(代码写错了)
其他:(积累)
503:服务器和数据库没连接上
400:数据异常
2 虚拟路径和虚拟主机
6.虚拟路径
将web项目配置到webapps以外的路径
a.方式一
conf/server.xml中配置:host标签中:<Context docBase="D:\xxx\xxx" path="/xxx" />
docBase:实际路径(访问path实际访问的是 docBase)
path:虚拟路径(写绝对路径或相对路径【相对于webapps】,一般用相对路径)
·绝对路径:
绝对路径是指文件在硬盘上真正存在的路径。
ps:配置完成后需要重启tomcat
b.方式二
D:\tomcat\conf\Catalina\localhost
中新建"项目名.xml"中新增一行:<Context docBase="D:\xxx\xxx" path="/xxx" />
7.虚拟主机
www.test.com
3 JSP执行流程
1.jsp->java(Servlet文件)->class
D:\apache-tomcat-8.0.29-windows-i64\
apache-tomcat-8.0.29\work\Catalina\localhost\ROOT\org\apache\jsp
Jsp和Servlet可以相互转换
4
5 编码问题、jsp页面元素以及request对象(登录login.jsp)
1.jsp页面元素:html、java代码(Scriptlet)、注释、指令
a.脚本Scriptlet
b.指令
page指令
2.jsp九大内置对象:
out:
7 response、请求转发和重定向、cookie
8 Cookie应用案例(实现 记住用户名 功能)
18JSP访问数据库
19bug修复以及JavaBean(封装数据和封装业务逻辑)
JavaBean(就是一个Java类):
作用:
a.减轻jsp复杂度
b.提高代码复用(任何地方的登录操作都可以通过调用LoginDao实体类实现)
定义:(满足以下2点就可以称为JavaBean )
a.public修饰的类,public无参构造
b.所有属性(如果有)都是private,并且提供set/get(如果Boolean 则get可以替换成is)
使用层面:(Java分为两大类)
a.封装业务逻辑的JavaBean(LoginDao.java封装了登录逻辑)
b.封装数据的JavaBean(实体类,Student.java Person.java)
20 MVC模式与Servlet执行流程
(MVC设计模式:把我们写的代码位置具体化,确定我们写的功能是放到src里还是放到WebContent里。)
M:model 模型:功能(登录、增加等)
V:view 视图:用于展示,以及用户交互(用户交互:鼠标点击,填写信息等)。
使用html、js、css、jsp、jQuery、等前端技术实现。
C:controller 控制器:接收请求将请求跳转到模型进行处理;模型处理完毕后,再将处理结果返回给请求处。