Java遇见HTML-JSP(一)
Java遇见HTML的6篇文章技术较老只是在熟悉java基础知识和了解mvc模型思想
JSP:
JSP全名是Java server pages,其根本是一个简化的servlet设计,他实现了在java当中使用html标签,jsp是一种动态网页技术标准也是JAVAEE的标准。jsp和servlet一样,是在服务器端执行的。
JSP页面组成部分:指令、表达式、小脚本、声明、注释、静态内容
JSP指令:
page指令:通常位于jsp页面的顶端,同一个页面可以有多个page指令。
include指令:将一个外部文件嵌入到当前jsp文件中,同时解析这个页面中的jsp语句。
taglib指令:使用标签库定义新的自定义标签,在jsp页面中启用定制行为。
image.png
jsp中可以写java语言:
image.png
jsp声明:
在jsp中声明变量和方法。
image.png
<%!
String i="111111";
int add(int a,int b)
{
return a+b;
}
%>
<%
//单行注释在客户端不可见
/*
多行注释在客户端可见
*/
System.out.println("欢迎大家学习javaEE开发");
System.out.println(i);//调用上面的变量
%>
jsp表达式
image.png <%!
String i="111111";
int add(int a,int b)
{
return a+b;
}
%>
<br>
<%
//单行注释在客户端不可见
/*
多行注释在客户端可见
*/
System.out.println("欢迎大家学习javaEE开发");
System.out.println(i);//调用上面的变量
%>
<!--调用上面的变量-->
<%=i%>
<br>
<!--调用上面的方法-->
<%=add(10,20)%>
image.png
jsp页面生命周期
image.pngimage.png
JSP引擎把jsp文件转换成一个servlet类的字节码文件,调用jspInit()方法生成java字节码文件,解析后执行jspService()方法,该方法中就是jsp文件中要展示到前端的业务逻辑代码。
脚本:
<br>
<%
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-mm-dd");
String s=simpleDateFormat.format(new Date());
%>
今天是:<%=s%>
<br>
<!--声明一个方法,返回打印的结果,使用表达式调用-->
<!--声明第二个方法,方法中打印结果,在脚本中调用-->
<%!
String getMutiResult() throws Exception
{
String s="";
for (int i=1;i<=9;i++)
{
for (int j=1;j<=i;j++)
{
s+=i+"*"+j+"="+(i*j)+" ";
}
s=s+"<br>";
}
return s;
}
void getMutiResultTwo(JspWriter out) throws Exception
{
for (int i=1;i<=9;i++)
{
for (int j=1;j<=i;j++)
{
out.print(i+"*"+j+"="+(i*j)+" ");
}
out.println("<br>");
}
}
%>
<h1>九九乘法口诀</h1>
<%=getMutiResult()%>
<br>
<%
//使用脚本的方式调用方法,并传参数
getMutiResultTwo(out);
%>
jsp的内置对象,不需要new实例化就可以直接使用
image.pngout\request\response\session\application\page\pageContext\exception\config
out对象:
image.pngget和post
image.pngimage.png
启动tomcat服务,在浏览器中看到login.jsp中写的内容:
image.png
输入用户名、密码登录后跳转到dologin.jsp中
image.png
可以看到浏览器地址中把用户名和密码都带上了,因为用的是get方法就会把用户名和密码作为参数提交给服务器。用post方法就会避免把用户信息暴露出来的问题。
改成post重新发布:
image.png
看到浏览器中不带用户信息了:
image.png
request对象
image.pngimage.png
主要用到getParameter和getParameterValues
image.png
image.png
浏览器中:
image.png
image.png
其他方法的使用:
image.png
response
image.pngimage.png
请求重定向和请求转发
image.pngreg.jsp的action指向response.jsp
image.png
response.jsp中请求重定向到request.jsp中
image.png
在浏览器中先进到reg.jsp中,输入用户名和密码提交后服务端会先进入response.jsp
中再跳转到request.jsp中,但是用户名和爱好都没有获取到
image.png
因为请求重定向,相当于两次请求,前一次请求的信息不会保存,所以为空。
下面看请求转发:
image.png
修改jsp后更新程序,浏览器重新进入reg.jsp页面输入用户名和爱好,进入response.jsp页面中看到获取到用户名和爱好,浏览器中url地址也没有变化。
image.png
image.png