学习jsp的宝贵经验总结

大坑!转发时,忘记加.jsp

导致的后果是,控制台不停地打印异常错误。到最后还报了数据库连接过多的提示。写好了关闭数据库的代码,还有重启电脑都还是一样。到最后才发现!原来没加.jsp

遇到的问题2

总结JSP的命名经验

servlet----- 假如是全部显示列表 ---StudentListServlet
web.xml---访问URL设为listStudent

<servlet-mapping>
    <servlet-name>StudentListServlt</servlet-name>
    <url-pattern>/listStudent</url-pattern>
</servlet-mapping>

jsp----命名为listStudent.jsp

经验总结:访问servlet的URL 的名字 设置尽量和jsp的名字一样 ,但事实上,还是通过了servlet才转发到jsp

JSP里的模板

假如想用JSTL和超级好用的ejs语法

这2个jar包 缺一不可。

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

charset=UTF-8: 告诉浏览器以 utf-8去解码
pageEncoding="UTF-8" --表示当前jsp里的代码用utf-8 编码

假如想在JSP引用bootstrap的东西,懒得以后再去找CSDN了和下载文件了

<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet"
	href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"
	rel="stylesheet">
<script
	src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js">
	
</script>

里面的servlet和jsp的绝对路径和相对路径的总结

正常来说, esclise都是有一个项目工程名字的,假如你的j2ee工程是SMS,那么你以后访问就得是http://localhost:8080/SMS/index.html
http://localhost:8080/SMS/login 这些。
而假如你在
action="/ABC/login" -->那么它就是相当于地址栏写死,http://localhost:8080/ABC/login
假如action="listServlet" --> 假如你现在当前访问的网页是http://localhost:8080/ABC/login, 那么你一点,它就会跳到http://localhost:8080/ABC/listServlet
这些无论是
href=" ";
request.getRequestDispatcher("listStudent.jsp").forward(request,
response);
response.sendRedirect("listStudent");
都是一样的原理的:
**只要是/XXX 还是直接XXX **
以/开头代表 绝对路径
以直接文件名开始,就是相对路径
或者以 ./文件名 开始,也是属于相对路径

小细节

比较的时候把常量字符串"admin" "123"放前面,因为用户可能没有输入账号密码就提交,servlet会获取到null。 这样就规避了空指针异常的问题。


Session

这个jsessionid是应该是全球唯一的!

既无论你有没有session,只要你第一次访问一个网站时,服务器发现你是没有jsessionid的,它就会给你创建一个新的session。
所以你才能够用下面的这句话。
<%
session.setAttribute("name", "teemo");
%>

小经验

SP的隐式对象指的是不需要显示定义,直接就可以使用的对象,比如request,response

JSP一共有9个隐式对象,分别是
request,response,out

pageContext, session,application

page,config,exception

1:request,response,out 2:pageContext, session,application

3.page

4.config



6:exeption



posted @ 2018-04-07 23:51  Pororo  阅读(349)  评论(0编辑  收藏  举报