1.JSP:html中嵌入java代码。
2.JSP执行过程:
客户端通过浏览器发送请求;
由web容器将得到的请求jsp文件翻译成.java文件; (servlet文件)
再将翻译成.java文件编译成.class;
最后执行.class并将结果响应给客户端进行呈现。
3.JSP执行过程经历了哪几个阶段:
请求阶段
翻译阶段
编译阶段
执行阶段
4.jsp页面元素组成
静态文本(html)
指令<%@ %>(比如:<%@page %>,<%@include%>)
表达式<%= %>
小脚本/java代码 <% %>
声明 <%!%>
注释
客户端注释:<!-- 这是注释,但客户端可以查看到 -->
服务端注释:<%-- 这也是注释,但客户端不能查看到 --%> 推荐使用
5.web程序访问不到排错处理方案
1).tomcat环境有没有问题;
2).项目有没部署;
3).tomcat有没有启动;
4).url访问是不是正确(文件是否放错位置了,比如放在了不对外访问的文件夹下如:WEB-INF下或META-INF下);
5).删除浏览器缓存;
6).删除tomcat下\work\Catalina\localhost找到要访问的项目名删除。
6.jsp内置对象(9个)
request
reponse
session
application
out
pageContext
page
config
exception
7.request:封装了请求的参数
request.getParameter得到某一属性的一个信息
request.getParameterValues得到一组信息
post方式乱码处理:
a).tomcat server.xml 中设置字符集编码(URIEncoding="utf-8"),但不一定启效果;那么则需要通过如下b)方法解决。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
b.)post方式提交乱码处理,必须在使用request之前设置,乱码方可解决
request.setCharacterEncoding("utf-8");
String userName=request.getParameter("userName");
String userPwd=request.getParameter("userPwd");
get方式乱码处理:
new String(userName.getBytes("iso8859-1"),"utf-8")
8.response:响应客户请求并向客户端输出信息
//重定向
response.sendRedirect("success.jsp");//重定向(客户端),地址栏变了
//请求转发
request.getRequestDispatcher("login.jsp").forward(request, response);//请求转发,地址栏不变(服务端做的转发)
重定向与请求转发区别:
转发是在服务器端发挥作用,通过forward方法将提交信息在多个页面间进行传递;由于是服务器内部控制转移,所以浏览器地址栏不会显示出转向后的地址。
重定向是在客户端发挥作用,通过请求新的地址实现页面转向,在地址栏中可以显示转向后的地址。
9.out:向页面输出内容的。
10.错误页面的配置( web.xml中配置)
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
11.include指令
在一个页面包含另一个页面的内容
<%@ include file="doLogin_bak.jsp"%>