1.网页输出对象out
<hr>
你好 jsp
<hr>
<%
String str="小菜鸡";
//使用out对象输出,只能在脚本中使用out
out.print(str);
%>
<%-- 还可以结合前端使用--%>
str:<%=str %>
<hr>
<%!
求最大值
<%!
public int max(int x,int y){
return x>y?x:y;
}
%>
最大值:<%=max(6,8)%>
jsp显示当前日期
<body>
<%
//在网页中显示当前日期时间
Date date=new Date();
//日期格式化
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String Time=sdf.format(date);
%>
当前时间为:<%= Time%>
2.request对象
用户发送的所有的请求都是通过request对象实现,request中携带了请求的地址、参数等等
登录案例:用户发送登录请求,后台获取用户发送的请求参数
<%--
action 指定表单信息发送的服务端地址
method 指定发送请求的方式
--%>
<form action="control.jsp">
<input type="text" name="uname" placeholder="请输入用户名">
<input type="password" name="pwd" placeholder="请输入密码">
<input type="submit" value="登录">
</form>
获取请求中携带的信息,判断是否正确
String uname=request.getParameter("uname");
String pwd=request.getParameter("pwd");
//判断用户名密码是否正确
if("admin".equals(uname)){
request.setAttribute("msg","登录成功");
//请求转发到success.jsp
request.getRequestDispatcher("success.jsp").forward(request,response);
}else{
//请求转发到error.jsp
request.getRequestDispatcher("error.jsp").forward(request,response);
}
%>
<%-- 在页面中显示--%>
用户名:<%= uname%>
<br>
密码:<%=pwd%>
success.jsp
<%
String uname=request.getParameter("uname");
Object msg=request.getAttribute("msg");
%>
<h4>欢迎你<%=uname%></h4>
msg:<%=msg%>
error.jsp
<h4>登陆失败</h4>
*
3.response
response作为服务端响应给客户端的过程,仅仅只是将服务端的请求重定向给了另一个地址
登录案例(注意重定向时地址栏中的变化及参数携带问题)
<%
//获取请求中携带的信息
String uname=request.getParameter("uname");
String pwd=request.getParameter("pwd");
if("admin".equals(uname)){
//重定向到成功页面
response.sendRedirect("success.jsp");
}else{
response.sendRedirect("error.jsp");
}
%>
<%-- 在页面中显示--%>
用户名:<%= uname%>
<br>
密码:<%=pwd%>
结果显示为null,说明参数并未携带
总结request和response的区别
request:
1.一次请求,多次转发
2.请求转发后,地址栏中的地址不发生改变
3.request请求转发可以携带参数
response:
1.至少两次请求
2.地址栏中的地址会发生改变
3.不能携带参数