JSP简单学习01

来源:互联网 发布:智能手环 数据接口 编辑:程序博客网 时间:2024/05/21 09:51

1.JSP页面元素包括

①静态内容: HTML静态文本

②指令:<%@page 属性1=“属性值”属性2=“属性值”....%>
③小脚本:<%JAVA代码%>
④表达式<%=值%>
⑤注释:<!--注释内容在客户端可以看到-->     html注释(不安全,加大网络传输负担)
   <%--注释内容在客户端不可以看到--%>    JSP注释

⑥声明:<%!方法%>

2.Request 代表客户端请求

常用方法:

a) 获取值:getParameter()

b) 设置字符的类型:setCharacterEncoding()

c) 获取路径:getContextPath()

d) (转发):getRequestDispatcher()

                      只能在本项目内部转发,通过forward方法将提交信息在服务器内部中的多个页面间进行传递。客户端   的浏览器地址栏不会显示出转向后的地址。

3.Response 响应客户请求并向客户端输出

常用方法:

a) (重定向):response.sendRedirect ( );

       **.forward(request,response);

      返回的地址可以跳出本项目,跳到别的项目的网站。客户端的浏览器地址栏会显示出转向后的地址。


例子:

在MyEclipse中创建三个JSP页面:login.jsp 和 do_login.jsp、login_success.jsp(同一目录下)


~login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>登录页面</title>
    <script type="text/javascript" src="<%=request.getContextPath()%>/js/jquery-1.10.2.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#myname").blur(function(){
                var uname=$("#myname").val();
                if(uname==""){
                    $("#nameTip").html("用户名不能为空!!");
                    //alert("用户名不能为空!!");
                    return;
                }else{
                    $("#nameTip").html("   ");
                }
            });
            $("#mypwd").blur(function(){
                var upwd=$("#mypwd").val();
                if(upwd==""){
                    $("#pwdTip").html("密码不能为空!!!");
                    return;
                }else{
                    $("pwdTip").html(" ");
                }
            });
        });
    </script>
//验证方法
  </head>
 
  <body>
       <form action="<%=request.getContextPath()%>/do_login.jsp" method="post" >
           <table>
               <tr>
                   <td>用户名:</td>
                   <td>
                       <input type="text" name="username" id="myname"><span id="nameTip"></span>
                   </td>
               </tr>
               <tr>
                   <td>密码:</td>
                   <td>
                       <input type="password" name="userpwd" id="mypwd"><span id="pwdTip"></span>
                   </td>
               </tr>
               <tr>
                   <td>
                       <input type="submit" value="登录" >
                   </td>
                   <td>
                       <input type="reset" value="重置">
                   </td>
               </tr>
           </table>
       </form>
       <a href="<%=request.getContextPath()%>/baidu/login_fail.jsp?id=1111111"> 跳转到失败页面(id只能是数字才可以!)!</a>
  </body>
</html>


~do_login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%
    request.setCharacterEncoding("utf-8");
    String uname=request.getParameter("username");
    String upwd=request.getParameter("userpwd");
    if(uname.equals("admin") && up.equals("123")){
        //response.sendRedirect(request.getContextPath()+"/baidu/login_success.jsp");//重定向,其他的更无法获取信息
        RequestDispatcher rd= request.getRequestDispatcher("login_success.jsp");
        rd.forward(request,response);//转发,其他的也可以获取!
    }else{
        
        response.sendRedirect(request.getContextPath()+"/baidu/login.jsp");
    }
 %>


~login_success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>登录成功!!!</title>
  </head>
 
  <body>
    <h1>登录成功!!!</h1><br>
    <%
        String name=request.getParameter("username");
     %>
   <h1><%=name %>欢迎你!!!!</h1>
  </body>
</html>





0 0
原创粉丝点击