一、JSP入门
1.1 JSP的本质就是一个java类(servlet) 单实例多线程
1.2 JSP中书写代码的三种方式
1 声明式
2.小脚本
3.表达式
1.3 小脚本和声明式之间的区别
1.小脚本中定义的变量是局部变量,声明式中的变量是成员变量
2.在小脚本中不可以定义方法:因为自己本身就是一个方法;声明式中可以定义方法
3.在声明式中不可以使用内置对象:内置对象相当于一个类的实例,声明式中还没有实例化,不能调用该对象的方法;在小脚本中可以使用内置对象
1.4 JSP中三种注释方式
1.JAVA注释 --> //注释
2.HTNL注释 --> <!--注释-->
3.JSP注释 --> <%--注释--%>
二、Servlet入门
2.1 想让浏览器找到该页面,必须在 web.xml中进行配置
<servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>day01.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/MyServlet</url-pattern> </servlet-mapping>
2.2 解决服务器向浏览器发送数据的中文乱码问题
resp.setContentType("text/html;charset=utf-8");
2.3 页面跳转
req.getRequestDispatcher("文件名.jsp").forward(req,resp);
2.4 Servlet的生命周期
类加载
实例化:无参构造
初始化:init
服务请求:service
销毁操作:destroy
2.5 类加载的时机
1、用户第一次访问servlet的时候(默认)
2、启动服务器时进行类加载:在配置文件中设置
<load-on-startup>0</load-on-startup>
2.6 配置全局参数、局部参数和读取全局参数、局部参数
配置全局参数:
<context-param> <param-name>Encoding</param-name> <param-value>GBK</param-value> </context-param>
读取全局参数:
String Encoding = this.getServletContext().getInitParameter("Encoding");
配置局部参数:
<init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param>
读取局部参数:
String encoding = this.getInitParameter("encoding");
2.7 解决浏览器向服务器发送数据的中文乱码问题
解决POST方式提交的中文乱码问题:
request.setCharacterEncoding("UTF-8");
解决GET方式提交的中文乱码问题:
方式一:
1.获得元素编码的字节数组
byte[] bytes = username.getBytes("ISO-8859-1");
2.把元素编码的字节数组转化为UTF-8编码格式
String username1 = new String(bytes,"UTF-8");
方式二(推荐使用):
在server.xml中指定对应的服务器编码
URIEncoding="UTF-8"