JavaWeb学习笔记1
JSP概述
JSP(Java Server Pages)
- 运行在服务端的Java页面
- 使用HTML嵌套Java代码实现
JSP常用语法
- <$@page%>用来设置一个JSP页面的属性
- <%out.print();%>或<%out.println();%>实现页面输出
- JSP可以添加的注释:
- HTML注释:
- JSP注释:<%–JSP注释–%>
- JSP脚本注释:<%//单行注释%>、<%/多行注释/%>
- JSP中声明和使用变量。如:<%String title=“谈北京精神”;%>
- <%=%>实现页面输出。如:<%=title%>
- 常见错误:<%=title;%>
- 使用<%@page%>导包。如:<%@page import=“java.util.Date”/>
- 输出转义字符。如:<%=“谈"北京精神”"%>
JSP执行过程
Web程序常见错误
- 404错误–找不到访问的页面或资源
- 运行时,URL输入错误
- 将页面放在WEB-INF下
- 外部启动Tomcat,未部署项目
- 500错误—JSP页面代码有误
- 页面无法显示
- 未启动Tomcat
page指令
通过属性定义了JSP的特性,实现与JSP容器的通信
<%@ page language="属性值" import="属性值" contentType="属性值"%>
属性 | 说明 |
---|---|
language | 指定JSP页面使用的脚本语言 |
Import | 通过该属性来引用脚本语言中使用到的类文件 |
contentType | 用来指定页面的MIME类型,以及字符编码方式 |
out对象
out对象是JSP的内置对象
- 无需实例化即可使用
实现数据的输出显示
out对象的方法
属性 | 说明 |
---|---|
向页面输出显示 | |
println | 向页面输出显示,在结尾处添加换行 |
获取表单提交的数据
请求对象
- public String getParameter(String name)
示例
HTML代码:
<input type="text" name="userName">
JSP代码:
String userName = request.getParameter("userName");
获取同名的多个对象
HTML代码:
<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"/>
JSP代码
String[] mailIds = request.getParameterValues("mailId");
if(mailIds != null && mailIds.length!=0)[
//循环mailIds访问提交的数据
}else{
//未提交与参数mailId相关的数据
}
request对象常用方法
方法名称 | 说明 |
---|---|
String getParameter(String name) | 根据表单组件名称获取提交数据 |
String[] getParameterValues(String name_) | 获取表单组建对应多个值时的请求数据 |
void setCharacterEncoding(String charset) | 指定每个请求的编码 |
getRequestDispatcher(String path) | 返回一个RequestDispatcher对象,该对象的forward(0方法用于转发请求 |
get和post的区别
比较项 | get | post |
---|---|---|
参数出现在URL中 | 是 | 否 |
长度限制 | 有 | 无 |
安全性 | 低 | 高 |
URL可传播 | 是 | 否 |
JSP的内置对象
- 请求对象:request
- 输出对象:out
- 相应对象:response
- 应用程序对象:application
- 会话对象:session
- 页面上下文对象:pageContext
- 页面对象:page
- 配置对象:config
- 异常对象:exception
中文乱码与解决的方法
JSP中默认使用的字符编码方式:iso-8859-1(不支持中文)
常见的支持中文的编码方式
编码方式 | 收录的字符 |
---|---|
gb2312 | 常用简体汉字 |
gbk | 简体和繁体汉字 |
utf-8 | 所有国家需要的字符 |
解决方法
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>