标签: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