JSP基础简单使用小结

时间:2021-05-12 05:15:38

JSP基础简单使用小结

最近找了一份实习,闲下来有点时间就学了学Java Web相关的知识,毕竟在互联网时代作为一个程序员不会写网站实在过不去,即使不一定要成为高手但学习一下拓宽自己的视野也是不错的:

  • JSP页面简介
  • JSP内置对象
  • 简单练手的代码

JSP页面简介

JSP页面是指拓展名为.jsp的文件。在一个JSP页面中,可以包括指令标识、HTML代码、JavaScript代码、嵌入的Java代码、注释和JSP动作标识等内容。所以说JSP页面功能还是很强大的,但是JSP直接把HTML和Java代码杂糅到一起使得页面变得复杂且难以维护,不符合软件工程中分层的原则,当然JavaBean可以把Java代码和HTML分开来,后面还有MVC模式(model, view, control)要用到Struts2+Spring+Hibernate,这些我还得慢慢学。

JSP内置对象

JSP使用Java作为脚本语言,所以其具有强大的对象处理能力,并且可以动态的创建Web页面内容。但是由于Java语法在使用一个对象之前,需要先实例化这个对象,这就有点繁琐了。JSP为了简化开发,提供了一些内置对象,用来实现很多JSP应用。在使用JSP内置对象的时候,不需要先定义这些对象,直接使用即可。
在JSP中一共定义了9个内置对象,分别为request、response、session、application、out、pageContext、config、page、exception。

简单练手代码

index.jsp代码

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="java.util.Date" %>
<%@ page import="java.net.URLDecoder" %>
<%@ page import="java.text.SimpleDateFormat" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>星璇Home</title>
</head>
<body>
<%--这里定义了一些变量,注意这里是全局变量 --%>
<%! int i =2; String info=""; %>

<%--这是是cookeis的一些操作 --%>
<% Cookie[] cookies = request.getCookies(); String user=""; String datetime=""; if(cookies!=null) { for(int l=0;l<cookies.length;l++) { //if(cookies[l].getName()) //info=""; //info=cookies[l].getName()+"#"+user; if(cookies[l].getName().equals("myCookie")) { user=URLDecoder.decode(cookies[l].getValue().split("#")[0]); datetime=cookies[l].getValue().split("#")[1]; info="#cookies info:"+user+datetime+info; } } } %>


<center>
    <%--隐藏注释这里是JSP的一些代码 --%>
    <% int j=0;//这里是局部变量 Date date = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String today = df.format(date); String text =Integer.toString(i); %>

    <h1>JSP挺不错的呀</h1>
    <h2>当前时间:<%=today%></h2>
    <p>i的值<%=text %></p>
    <% i++; String txt =Integer.toString(j); j++; %>
    <p>j的值<%=txt %></p>
    <h3>呵呵哒</h3>
    <p>test</p>
    <a href="login.jsp">
        <input type="button" value="跳转到登录页"><br>
    </a>
    <a href="deal.jsp?id=1&user=sss&pwd=123456">
        <input type="button" value="跳转到处理页"><br>
    </a>

    <input type="button" value="重定向到登陆页" action="login.jsp"></input>




</center>
<p>临时输出的一些信息:<%=info %></p>
    <%out.println("hehe");%>
<%--获取客户端信息 --%>
    <br>客户提交信息的方式:<%=request.getMethod() %>
    <br>使用的协议:<%=request.getProtocol() %>
    <br>请求的URI:<%=request.getRequestURI() %>
    <br>请求的URL:<%=request.getRequestURL() %>
    <br>客户端IP地址:<%=request.getRemoteAddr() %>
    <br>服务器端口号:<%=request.getServerPort() %>
    <br>服务器名称:<%=request.getServerName() %>
    <br>客户端主机名:<%=request.getRemoteHost() %>
    <br>脚本文件路径:<%=request.getServletPath() %>
    <br>Http文件头信息的Host值:<%=request.getHeader("host") %>
    <br>Http文件头信息的user-agent值:<%=request.getHeader("user-agent") %>
    <br>Http文件头信息的accept-language值:<%=request.getHeader("accept-language") %>
    <br>请求文件的绝对路径:<%=request.getRealPath("index.jsp") %>
    <br>getClass():<%=page.getClass() %>
    <br>hashCode:<%=page.hashCode() %>
    <br>toString():<%=page.toString() %>
    <br>equals(this):<%=page.equals(this) %>
<center><br><%@ include file="copyright.jsp" %></center>
<%--<jsp:forward page="login.jsp"></jsp:forward> --%>
</body>
</html>

copyright.jsp代码

<%@ page pageEncoding="utf-8"%>
<%
String copyright="&nbsp;All Copyright &copy; 2017 邓汇星";%>
<%=copyright%>

login.jsp代码

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="java.net.URLEncoder" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登录</title>
</head>
<body>

<center>
<form name="form1" method="post" action="deal.jsp">
用户名:<input name="username" type="text" id="userName" style="width:120px"><br>
密&nbsp;&nbsp;&nbsp;&nbsp;码:<input name="pwd" type="text" id="pwd" style="width:120px"><br>
<br>
<input type="submit" name="Submit" value="提交">
<input type="reset" name="Reset" value="清空">
</form>
</center>

</body>
</html>

deal.jsp代码

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ page import="java.net.URLEncoder" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<% String name=(String)session.getAttribute("username"); String pswd=(String)session.getAttribute("pwd"); String id=request.getParameter("id"); String user=request.getParameter("username"); String pwd=request.getParameter("pwd"); /* String id_a=request.getAttribute("id").toString(); String user_a=request.getAttribute("user").toString(); String pwd_a=request.getAttribute("pwd").toString(); */ %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>处理页</title>
</head>
<body>
id的参数值为:<%=id %><br>
user的参数值为:<%=user %><br>
pwd的参数值为:<%=pwd %><br>
session中的name的值为:<%=name %><br>
session中的pwd的值为<%=pswd %><br>

<% request.setCharacterEncoding("utf-8"); String username=URLEncoder.encode("dhxno1","utf-8"); Cookie cookie = new Cookie("myCookie",username+"#"+new java.util.Date().toLocaleString()); cookie.setMaxAge(60*60*24*30); response.addCookie(cookie); %>
</body>
</html>

贴张最后的运行效果:
JSP基础简单使用小结


[1]: Java Web从入门到精通