Javaweb
程序架构
B/S架构工作原理
URL
-
.学习jsp技术之前我们要了解两个概念,什么是B/S模式,什么是C/S模式?他们的区别在哪?还有好处在哪?
- B/S:首先翻译就是Browser And Service ,浏览器和服务器模式。
- C/S:翻译过来就是Client And Service ,客户端模式和服务器模式。
- 区别:B/S模式的一个好处就是入门的门槛低,开发的成本会低一点,后期的维护也简
单一点,因为我们不必考虑兼容性,Service服务器也很多免费的,而C/S模式一个很明显的地方就是需要一个客户端
Web服务器
是可以向发出请求的浏览器提供文档的程序
提供网上的信息浏览服务
常用的Web服务器
Microsoft:IIS
Apache:Tomcat
Oracle:WebLogic
IBM:WebSphere
Nginx
„
Tomcat服务器
Apache Jakarta的开源项目
轻量级应用服务器
开源、稳定、资源占用小
下载地址:http://tomcat.apache.or
Tomcat使用小结
目录 | 说明 |
---|
/bin | 存放各种平台下用于启动和停止Tomcat的脚本文件 |
/cont | 存放Tomcat服务器的各种配置文本 |
/lib | 存放Tomcat服务器所需的各种jar文件 |
/logs | 存放Tomcat的日志文件 |
/temp | Tomcat运行时用于存放临时文件 |
/webapps | 当发布web应用时,默认情况下会将web应用的文件存放于此目录中 |
/work | Tomcat把由JSP生成的service防御此目录下 |
-
URL:Uniform Resource Locator——统一资源定位
-
URI:Uniform Resource Identifier——统一资源标识
-
URN:Uniform Resource Name——统一资源名称
-
URL组成:1、协议 2、主机ip地址 (端口号) 3,相对路径
-
http://localhost:8080/news/dex.htm (https 安全)127.0.1 无状态就是请求完,不保存下次还的从新请求协议 主机地址 项目资源地址status状态码:
200 : 请求正常
404 : 路径错或页面没写;
5xx : 服务器端错误;
配置Tomcat
默认端口号:8080
通过配置文件server.xml修改Tomcat端口号
JSP可以添加的注释:
HTML注释:<!--HTML注释-- >
JSP注释:<%--JSP注释--%>
JSP脚本中注释:<%//单行注释%>、 <%/*多行注释*/%>
- 编写JSP页面,分别声明整型的全局变量和局部变量,
- 观察两者自加后的输出结果,结合JSP执行原理思考出现输出结果的原因
- 使用<%%>声明局部变量、使用<%!%>声明全局变量
常见的错误
404错误---找不到访问的页面或资源
运行时,URL输入错误
将页面放在WEB-INF下
外部启动Tomcat,未部署项目
500错误----JSP页面代码有误
JSP页面代码有错误
页面无法显示
未启动Tomcat
JSP九大内置对象
pageContext: 页面上下文对象
request :请求对象
session: 会话对象
application :应用程序对象
response :响应对象
out :页面输出对象
config: 配置对象
exception :异常对象
page :页面对象
page指令
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
语法
属性 | 说明 |
---|
language | 指定JSP页面使用的脚本语言 |
import | 通过该属性来应用脚本语言中使用到的类文件 |
contentType | 用来指定页面的MIME类型,以及字符编码方式 |
out对象
属性 | 说明 |
---|
print | 向页面输出显示 |
println | 向页面输出显示,在结尾处添加换行 |
jsp实现数据的传递和保存
请求对象request
public String getParameter(String name)
示例:
request.getParameter("cu_name")
get和post的区别
比较项 | get | post |
---|
参数出现在URL中 | 是 | 否 |
长度限制 | 有 | 无 |
安全性 | 低 | 高 |
URL可传播 | 是 | 否 |
获取透明的多个参数
<input type="checkbox" name="mailId"value="10001" />
<input type="checkbox" name="mailId"value="10002" />
<input type="checkbox" name="mailId"value="10003" />
<input type="checkbox" name="mailId"value="10004" />
<input type="checkbox" name="mailId"value="10005" />
String[] mailIds=request.getParameterValues("mailId");
if(mailIds!=null&&mailIds.length!=0){
//循环mailIds访问提交的数据
}else{
//未提交与参数mailId相关的数据
}
解决中文乱码问题
设置请求和响应的编码方式
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
<%@ page language="java"
contentType="text/html; charset=utf-8"%>
get请求出现乱码
治标的方法:
new String(s.getBytes("iso-8859-1"),"utf-8");
治本的方法:
配置tomcat\conf\server.xml文件
<Connector connectionTimeout="20000"port="8080"
protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
转发与重定向
-
转发
-
RequestDispatcher对象forward()方法
-
语法
-
1.request.getRequestDispatcher(“url”).forward(request, response)
-
2、<jsp:forward page=“url" />重定向将用户请求重新定位到一个新的URLresponse.sendRedirect(“url”)