jsp第一讲
JAVA EE必备基础:java servlet jsp
ssh——>struts+hibernate+spring(ssh)
(一)java EE核心十三种技术介绍
1.JAVA数据库连接
(1)JDBC-ODBC桥
(2)JDBC-native驱动桥
(3)JDBC-network桥
(4)纯java驱动
2.java命名和目录接口(JNDI)
3.企业javaBeans(EJB)
4.JavaServer Pages(JSPs)
5.JavaServlets
6.Java IDL/CORBA
7.Java 事务体系(JTA)/Java事务服务(JTS)
8.JavaMail和JavaBeans激活框架(JavaBeans Activation Framework,JAF)
9.Java信使服务(JMS)
10.扩展标记语言(Extensible Markup language,XML)
···
(二)java EE程序员修炼成精的法门
《卖油翁——欧阳修》——>"我亦无他,唯手熟尔"
(三)jsp版本的用户管理系统演示
开发工具:myeclipse
开发流程:model1——>mv——>mvc
(四)jsp概述(基本语法)
1.出现原因:servlet做界面不好(jsp作为servlet的补充)
2.jsp=html+java片段+jsp标签+javascript(css)
3.强大功能——>jsp结合javaBean(jsp做前台,javaBean做后台)
4.mvc开发模式——>javaBean+jsp+servlet
5.基本语法
(1)指令元素——用于从jsp发送一个信息到容器,比如设置全局变量,文字编码,引入包等
a page指令
<%@page contentType="text/html;charset=gbk"%>
b include指令
<%@include file="filename"%>
c taglib指令
这个指令允许在jsp页面运行自定义的标签
(2)脚本元素——可以理解为java片段(script)
a script <%java代码%>
b 表达式 <%=java表达式%> <%=rs.getString(1)%>
c declaration声明
1.<%声明变量%> 如:<%!int count=10%>
2.<%!函数声明%>
<%! int jisuan(int num){
int result=0;
for(int i=0;i<num;i++){
result=result=i;
}
}
%>
(3)动作元素——用xml语法写
1.<jsp:useBean> //创建一个javabean实例
2.<jsp:setProperty> //给一个javaBean实例设置初始值
3.<jsp:param> //给一个jsp设置参数,常常与<jsp:include>结合使用
如:
<jsp:include file="info.jsp">
<jsp:param name="parameter1" value="parameterValue"/>
<jsp:param name="parameter2" value="parameterValue"/>
</jsp:include>
4.<jsp:getProperty> //取得一个javaBean实例的成员变量
5.<jsp:include> //引入另外一个文件
6.<jsp:plugin> //使用插件
7.<jsp:forward> //转发
8.<jsp:fallback>
<myTag:yourTag num1="123">
(4)jsp的九大内置对象(核心)
1.out //想客户端输出数据,字节流 out.println("");
2.request //接受客户端的http请求<-->servlet的HttpServletRequest
getParameter(String name);//name表示表单的参数名
getParameterValues(String name);//使用得到的是String[]
setAttribute(String name,Object obj);//设置名字为name的obj,值为obj
getAttribute(String name);//返回由name指定的属性值,如果不存在就返回null
getCookie();
3.response //封装jsp产生的回应
addCookie(Cookie cookie);
sendRedirect("/welcome.jsp");
4.session //用于保存用户的信息,跟踪用户的行为
setAttribute(String name,Object obj);
getAttribute(String name);
5.application//多个用户共享该对象,可以做计数器
6.pageContext//代表jsp页面的上下文
7.exception //代表运行时的一个异常
getMessage();
8.page //代表jsp这个实例本身(使用的比较少)
9.config //代表对应的servlet的配置可以得到web.xml中的参数
(五)jsp的运行原理
1.jsp与servlet是对应关系
2.jsp是以servlet为基础的
3.访问jsp过程:
如果是第一次访问jsp文件,其被服务器翻译成一个对应的java文件(servlet,放在tomcat/work/Catalina下),然后,再被编译成class文件并加载到内存中。
如果是以后访问jsp,那就直接调用内存中的jsp实例,所以,第一次访问jsp慢,后面访问jsp的速度变快
例子:
<!--page:声明我是一个jsp文件,并且支持中文-->
<%@page contentType="text/html;charset=gbk"%>
<html>
<body>
<h1>jsp1</h1>
<%
int a=1;
int b=1;
int c=a+b;
out.println("hello,world,世界"+c);//java片段
%>
</body>
</html>
最要紧的是jsp不用reload,刷新即可
(六)jsp版的计算器
1.界面:myCal.jsp(计算器界面)
2.计算:myResult.jsp(接收数据并显示结果)
3.知识点:
(1)如何接收jsp页面提交的数据,并处理
(2)jsp中如何使用java片段
(3)jsp中如何使用javascript完成对数据合法性的校验
4.总结
(1)若报错,请找root cause的***_jsp.java
(2)jsp原理图