JSP学习小结
来源:互联网 发布:农村淘宝服务站申请 编辑:程序博客网 时间:2024/04/28 08:10
(如有错误,欢迎指正)
1.关于jsp
jsp是一种动态网页技术,动态生成网页数据,而不是有动态效果的网页 。常见的集中动态网络技术,jsp,asp(微软),php(超级文本预处理语言)。
2.jsp的运作过程
用户发出请求访问jsp页面时,jsp引擎会把该jsp页面转换成一个java文件,即servlet类,生成字节码文件,即.class文件,servlet类只在第一次访问时进行编译。(tomcat接收到.jsp的请求后,会到org.apache.jasper.servlet.jspservlet中处理,在web.xml位于conf文件夹中配置,执行.class文件,输出给tomcat,然后tomcat再返回给客户端)
3.servlet和jsp的区别
servlet处理逻辑很方便,但是页面表现很麻烦 ,jsp页面表现方便,处理逻辑麻烦。
Jsp: <p>aaaa</p>Servlet: out.print(“<p>aaaa</p>”);
4.include指令与动作
静态导入: <%@ include file=”included.jsp”%>
(可在jsp中调用)
动态导入: <jsp:include page=”included.jsp”></jsp:include>
(不可调用,且会生成.java, .class文件,相比静态更加灵活)
动态导入传参:
<jsp:include page=”1.jsp”> <jsp:param name=”a” value=”AAA”/><jsp:param name=”b” value=”BBB”/> </jsp:include>
5.请求转发和重定向
response.sendRedirect(“1.jsp”);request.getRequestDispatcher().forward(request,response);pageContext.forward(“1.jsp”);
6.request接收表单提交的数据
(获取单个数据)
request.getParameter("username");
(获取多个数据)
if(request.getParameterValues("favorite")!=null){String[]favorites=request.getParameterValues("favorite");for(int i=0;i<favorites.length;i++){ out.println(favorites[i]+" ");} }
TIPS:对应表单type=checkbox 如:<input type="checkbox" name="favorite" value="read"/>
`
7.request-方法小结
请求体的MIME类型:<%=request.getContentType() %><br>协议类型及版本号:<%=request.getProtocol() %><br>服务器主机名:<%=request.getServerName() %><br>服务器的端口号:<%=request.getServerPort() %><br>请求文件长度:<%=request.getContentLength() %>byte<br>请求客户端的IP地址:<%=request.getRemoteAddr() %><br>请求的真实路径:<%=request.getRealPath("request.jsp") %><br>请求的上下文路径:<%=request.getContextPath() %><br>用来解决用户名中文乱码,但无法解决URL传递的中文乱码问题:request.setCharacterEncoding("UTF-8");获取客户端保存的cookie:Cookie[] cookies=request.getCookies();
8.cookie(详细代码见myeclipse/imoocJSPCourse)
cookie是web服务器保存在客户端的一系列文本信息,多应用与判断用户是否登录网站,以及购物车的处理
创建cookie对象:Cookie c=new Cookie(String key,Object value);
写入cookie对象:request.addCookie(c);
读取cookie对象:Cookie[] cookies=request.getCookies();
解决cookie不能保存中文问题:URLEncoder.encode(request.getParameter("username"),"utf-8");
URLDecoder.decode(cookie.getValue(),"utf-8");
设置最大生存期间,10天等于864000秒:Cookie.setMaxAge(864000);
设置cookie失效:c.setMaxAge(0);
TIPS:关于URLEncoder(来自百度搜索)
String encodeStr = URLEncoder.encode("中国", "utf-8"); System.out.println("处理后:" + encodeStr); String decodeStr = URLDecoder.decode(encodeStr, "utf-8"); System.out.println("解码:" + decodeStr); 处理后:%E4%B8%AD%E5%9B%BD 解码:中国
9.解决输出到客户端乱码问题
response.setContentType("text/html;charset=gbk");
- JSP学习小结
- jsp学习小结
- jsp学习小结
- JSP学习小结
- jsp学习小结
- JSP学习小结
- 学习jsp中的一些小结
- 学习jsp中的一些小结
- 各种学习小结(jsp,java...)
- <%@ include file="include.jsp" %>学习小结
- JSP小结
- jsp小结
- JSP小结
- JSP小结
- jsp小结
- JSP小结
- jsp小结
- jsp小结
- the Msg test
- 【慕课笔记】U3 继承 第7节 JAVA中的Object类(二)
- 断开式连接批量更新数据库数据(grid编辑)
- google推出的SwipeRefreshLayout下拉刷新用法
- 360Wifi2代在linux上安装使用 踩过的的坑和成功的途径 分享一下
- JSP学习小结
- 同余式运算的总结
- Java认证考试实例疑难辨析(2)
- epoll example
- 5.4、聚类之EM聚类实例
- hdu2243 考研路茫茫——单词情结 (AC自动机+矩阵快速幂)
- Java XML分析技术: StAX, SAX, DOM, DOM4j, JDOM
- c语言window 磁盘清理
- HDU2222 AC自动机水题