标签:private pen modified creat gen only eval http cas
礼悟:
好好学习合思考,尊师重道存感恩。叶见寻根三返一,江河湖海同一体。
虚怀若谷良心主,愿行无悔给最苦。读书锻炼强身心,诚劝且行且珍惜。
javaEE:7
javaSE:1.8
JSTL:1.2.2
server:tomcat 8.5
browser:Chrome/Firefox
os:windows7 x64
ide:MyEclipse 2017
工程目录结构
PersonName.java
package com.jizuiku.domain; /** * * * @author 博客园-给最苦 * @version V2017.12.01 */ public class PersonName { private String familyName; private String giveName; @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((familyName == null) ? 0 : familyName.hashCode()); result = prime * result + ((giveName == null) ? 0 : giveName.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; PersonName other = (PersonName) obj; if (familyName == null) { if (other.familyName != null) return false; } else if (!familyName.equals(other.familyName)) return false; if (giveName == null) { if (other.giveName != null) return false; } else if (!giveName.equals(other.giveName)) return false; return true; } @Override public String toString() { return "PersonName [familyName=" + familyName + ", giveName=" + giveName + "]"; } public PersonName(String familyName, String giveName) { super(); this.familyName = familyName; this.giveName = giveName; } public String getFamilyName() { return familyName; } public void setFamilyName(String familyName) { this.familyName = familyName; } public String getGiveName() { return giveName; } public void setGiveName(String giveName) { this.giveName = giveName; } public PersonName() { // TODO Auto-generated constructor stub } }
Person.java
package com.jizuiku.domain; /** * * * @author 博客园-给最苦 * @version V2017.12.01 */ public class Person { private PersonName name; private int age; public Person(PersonName name, int age) { super(); this.name = name; this.age = age; } public Person() { super(); // TODO Auto-generated constructor stub } public PersonName getName() { return name; } public void setName(PersonName name) { this.name = name; } public int getAge() { return age; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + age; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } public void setAge(int age) { this.age = age; } /* * 注意看!!!这个getXXX方法 * * */ public String getSomeWord() { return "我是一个 没有对应的成员变量的getXXX方法"; } }
MyJsp.jsp
<%@page import="com.jizuiku.domain.Person"%> <%@page import="com.jizuiku.domain.PersonName"%> <%@ 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>My JSP ‘MyJsp.jsp‘ starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% Person person = new Person(new PersonName("张", "三丰"), 18); session.setAttribute("session_person", person); %> <%-- 下面演示 EL表达式的 JavaBean导航 --%> ${sessionScope.session_person.name.familyName} ${sessionScope.session_person.someWord} </body> </html>
浏览器查看MyJsp.jsp页面
扩展
经过tomcat处理后,生出的java文件
MyJsp_jsp.java
/* * Generated by the Jasper component of Apache Tomcat * Version: Apache Tomcat/8.5.23 * Generated at: 2017-12-01 14:43:23 UTC * Note: The last modified time of this file was set to * the last modified time of the source file after * generation to assist with modification tracking. */ package org.apache.jsp; import javax.servlet.*; import javax.servlet.http.*; import javax.servlet.jsp.*; import com.jizuiku.domain.Person; import com.jizuiku.domain.PersonName; import java.util.*; public final class MyJsp_jsp extends org.apache.jasper.runtime.HttpJspBase implements org.apache.jasper.runtime.JspSourceDependent, org.apache.jasper.runtime.JspSourceImports { private static final javax.servlet.jsp.JspFactory _jspxFactory = javax.servlet.jsp.JspFactory.getDefaultFactory(); private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants; private static final java.util.Set<java.lang.String> _jspx_imports_packages; private static final java.util.Set<java.lang.String> _jspx_imports_classes; static { _jspx_imports_packages = new java.util.HashSet<>(); _jspx_imports_packages.add("javax.servlet"); _jspx_imports_packages.add("java.util"); _jspx_imports_packages.add("javax.servlet.http"); _jspx_imports_packages.add("javax.servlet.jsp"); _jspx_imports_classes = new java.util.HashSet<>(); _jspx_imports_classes.add("com.jizuiku.domain.Person"); _jspx_imports_classes.add("com.jizuiku.domain.PersonName"); } private volatile javax.el.ExpressionFactory _el_expressionfactory; private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager; public java.util.Map<java.lang.String,java.lang.Long> getDependants() { return _jspx_dependants; } public java.util.Set<java.lang.String> getPackageImports() { return _jspx_imports_packages; } public java.util.Set<java.lang.String> getClassImports() { return _jspx_imports_classes; } public javax.el.ExpressionFactory _jsp_getExpressionFactory() { if (_el_expressionfactory == null) { synchronized (this) { if (_el_expressionfactory == null) { _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory(); } } } return _el_expressionfactory; } public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() { if (_jsp_instancemanager == null) { synchronized (this) { if (_jsp_instancemanager == null) { _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig()); } } } return _jsp_instancemanager; } public void _jspInit() { } public void _jspDestroy() { } public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException { final java.lang.String _jspx_method = request.getMethod(); if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) { response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET POST or HEAD"); return; } final javax.servlet.jsp.PageContext pageContext; javax.servlet.http.HttpSession session = null; final javax.servlet.ServletContext application; final javax.servlet.ServletConfig config; javax.servlet.jsp.JspWriter out = null; final java.lang.Object page = this; javax.servlet.jsp.JspWriter _jspx_out = null; javax.servlet.jsp.PageContext _jspx_page_context = null; try { response.setContentType("text/html;charset=UTF-8"); pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context = pageContext; application = pageContext.getServletContext(); config = pageContext.getServletConfig(); session = pageContext.getSession(); out = pageContext.getOut(); _jspx_out = out; out.write(‘\n‘); out.write(‘\n‘); out.write(‘\n‘); String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; out.write("\n"); out.write("\n"); out.write("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n"); out.write("<html>\n"); out.write("<head>\n"); out.write("<base href=\""); out.print(basePath); out.write("\">\n"); out.write("\n"); out.write("<title>My JSP ‘MyJsp.jsp‘ starting page</title>\n"); out.write("\n"); out.write("<meta http-equiv=\"pragma\" content=\"no-cache\">\n"); out.write("<meta http-equiv=\"cache-control\" content=\"no-cache\">\n"); out.write("<meta http-equiv=\"expires\" content=\"0\">\n"); out.write("<meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\">\n"); out.write("<meta http-equiv=\"description\" content=\"This is my page\">\n"); out.write("<!--\n"); out.write("\t<link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\">\n"); out.write("\t-->\n"); out.write("\n"); out.write("<script>\"undefined\"==typeof CODE_LIVE&&(!function(e){var t={nonSecure:\"56731\",secure:\"56736\"},c={nonSecure:\"http://\",secure:\"https://\"},r={nonSecure:\"127.0.0.1\",secure:\"gapdebug.local.genuitec.com\"},n=\"https:\"===window.location.protocol?\"secure\":\"nonSecure\";script=e.createElement(\"script\"),script.type=\"text/javascript\",script.async=!0,script.src=c[n]+r[n]+\":\"+t[n]+\"/codelive-assets/bundle.js\",e.getElementsByTagName(\"head\")[0].appendChild(script)}(document),CODE_LIVE=!0);</script></head>\n"); out.write("\n"); out.write("<body data-genuitec-lp-enabled=\"false\" data-genuitec-file-id=\"wc1-0\" data-genuitec-path=\"/Day12/WebRoot/MyJsp.jsp\">\n"); out.write("\t\n"); out.write("\t"); Person person = new Person(new PersonName("张", "三丰"), 18); session.setAttribute("session_person", person); out.write("\n"); out.write("\t\n"); out.write("\t"); out.write(‘\n‘); out.write(‘ ‘); out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${sessionScope.session_person.name.familyName}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null)); out.write("\n"); out.write("\t\n"); out.write("\t"); out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${sessionScope.session_person.someWord}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null)); out.write("\n"); out.write("\t\n"); out.write("</body>\n"); out.write("</html>\n"); } catch (java.lang.Throwable t) { if (!(t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out != null && out.getBufferSize() != 0) try { if (response.isCommitted()) { out.flush(); } else { out.clearBuffer(); } } catch (java.io.IOException e) {} if (_jspx_page_context != null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } }
学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。
标签:private pen modified creat gen only eval http cas
原文地址:http://www.cnblogs.com/jizuiku/p/7993417.html