【例子介绍】java web 开发详解源码
优点: Java EE标准,这意味着有很大的市场需求和更多的工作机会 上手快速并且相对容易 有大量可用的组件库 缺点: 大量的JSP标签 对REST和安全支持不好 没有一个统一的实现。既有SUN的实现,又有Apache的实现——...
【相关图片】
【源码结构】
文件清单
└── JSPLesson
├── AppendixA
│ ├── FirstPage.html
│ ├── form.html
│ ├── link.html
│ ├── logo.gif
│ ├── SecondPage1.html
│ ├── SecondPage2.html
│ ├── SecondPage3.html
│ ├── SecondPage4.html
│ ├── SecondPage5.html
│ ├── SecondPage6.html
│ └── table.html
├── ch01
│ ├── 例1-10.xml
│ ├── 例1-11.xml
│ ├── 例1-12.xml
│ ├── 例1-13.xml
│ ├── 例1-14(website).dtd
│ ├── 例1-14(website).xml
│ ├── 例1-15(website2).xml
│ ├── 例1-16.xml
│ ├── 例1-17.xml
│ ├── 例1-18.xml
│ ├── 例1-19(company).xml
│ ├── 例1-1(HelloWorld).html
│ ├── 例1-20-1.xml
│ ├── 例1-20-2.xml
│ ├── 例1-21(library).xml
│ ├── 例1-21.xml
│ ├── 例1-22.xml
│ ├── 例1-2(HelloWorld).xml
│ ├── 例1-3(SecondPage5).html
│ ├── 例1-4(SecondPage5).xml
│ ├── 例1-5(java).xml
│ ├── 例1-6(javaerr).xml
│ ├── 例1-7.xml
│ ├── 例1-8.xml
│ └── 例1-9.xml
├── ch02
│ ├── 例2-10.xml
│ ├── 例2-11.xml
│ ├── 例2-12.xml
│ ├── 例2-1.xml
│ ├── 例2-2.xml
│ ├── 例2-3.xml
│ ├── 例2-4.xml
│ ├── 例2-5.xml
│ ├── 例2-6.xml
│ ├── 例2-7.xml
│ ├── 例2-8.xml
│ └── 例2-9.xml
├── ch03
│ ├── Dom4jTest.java
│ ├── DOMConvert2.java
│ ├── DOMConvert.java
│ ├── DOMPrinter.java
│ ├── DOMStudentsInfo.java
│ ├── ElementHandlerTest.java
│ ├── ErrorProcessor.java
│ ├── JDOMConvert.java
│ ├── names.xml
│ ├── SAXPrinter.java
│ ├── StudentLookup.java
│ ├── students.xml
│ ├── Validation.java
│ ├── VisitorTest.java
│ ├── 例3-8.xml
│ └── 例3-9.xml
├── ch04
│ ├── SimpleTransformer.java
│ ├── 例4-10.xsl
│ ├── 例4-11.xsl
│ ├── 例4-12.xsl
│ ├── 例4-13.xsl
│ ├── 例4-14.xsl
│ ├── 例4-15.xsl
│ ├── 例4-16.xsl
│ ├── 例4-17.xsl
│ ├── 例4-18(forum).xml
│ ├── 例4-19.xsl
│ ├── 例4-1(welcome).xml
│ ├── 例4-20(book).xml
│ ├── 例4-21(book).xsl
│ ├── 例4-22(book).xsl
│ ├── 例4-23.xsl
│ ├── 例4-24.xsl
│ ├── 例4-25(employees2).xml
│ ├── 例4-26(employees2).xsl
│ ├── 例4-27.xsl
│ ├── 例4-28.xsl
│ ├── 例4-29.xsl
│ ├── 例4-2(welcome).xsl
│ ├── 例4-30.xml
│ ├── 例4-31.xsl
│ ├── 例4-32.xml
│ ├── 例4-33.xsl
│ ├── 例4-34.xml
│ ├── 例4-35.xsl
│ ├── 例4-36.xsl
│ ├── 例4-37.xsl
│ ├── 例4-38.xsl
│ ├── 例4-39(company).xml
│ ├── 例4-3(employees).xml
│ ├── 例4-40(departments).xml
│ ├── 例4-41(company).xsl
│ ├── 例4-4.xsl
│ ├── 例4-5.xsl
│ ├── 例4-6.xsl
│ ├── 例4-7.xsl
│ ├── 例4-8.xsl
│ └── 例4-9.xsl
├── ch06
│ ├── login.html
│ ├── src
│ │ ├── CounterServlet.java
│ │ ├── LoginServlet2.java
│ │ ├── LoginServlet.java
│ │ ├── OutputInfo.java
│ │ ├── PortalServlet.java
│ │ ├── SimpleHello.java
│ │ └── WelcomeYou.java
│ ├── success.html
│ ├── WEB-INF
│ │ ├── classes
│ │ │ ├── CounterServlet.class
│ │ │ ├── LoginServlet2.class
│ │ │ ├── LoginServlet.class
│ │ │ ├── OutputInfo.class
│ │ │ ├── PortalServlet.class
│ │ │ ├── SimpleHello.class
│ │ │ └── WelcomeYou.class
│ │ └── web.xml
│ └── welcome.html
├── ch07
│ ├── src
│ │ ├── DirectServlet.java
│ │ └── WelcomeYou.java
│ ├── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── lesson
│ │ │ └── jsp
│ │ │ └── ch07
│ │ │ ├── DirectServlet.class
│ │ │ └── WelcomeYou.class
│ │ └── web.xml
│ ├── welcome_en.html
│ └── welcome_zh.html
├── ch08
│ ├── buy.html
│ ├── search.html
│ ├── src
│ │ ├── bookstore.sql
│ │ ├── CreateAccountServlet.java
│ │ ├── CreateDBServlet.java
│ │ ├── GetDBInfoServlet2.java
│ │ ├── GetDBInfoServlet.java
│ │ ├── ListServlet.java
│ │ └── TradeServlet.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ └── bookstore
│ │ ├── CreateAccountServlet.class
│ │ ├── CreateDBServlet.class
│ │ ├── GetDBInfoServlet2.class
│ │ ├── GetDBInfoServlet.class
│ │ ├── ListServlet.class
│ │ └── TradeServlet.class
│ └── web.xml
├── ch09
│ ├── online
│ │ └── login.html
│ ├── src
│ │ ├── GreetServlet2.java
│ │ ├── GreetServlet.java
│ │ ├── LoginChkServlet.java
│ │ ├── LoginServlet2.java
│ │ ├── LoginServlet.java
│ │ ├── LogoutServlet.java
│ │ ├── online
│ │ │ ├── LogoutServlet.java
│ │ │ ├── OnlineUser.java
│ │ │ ├── User.java
│ │ │ └── UserList.java
│ │ └── OutputSessionInfo.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ └── ch09
│ │ ├── GreetServlet2.class
│ │ ├── GreetServlet.class
│ │ ├── LoginChkServlet.class
│ │ ├── LoginServlet2.class
│ │ ├── LoginServlet.class
│ │ ├── LogoutServlet.class
│ │ ├── online
│ │ │ ├── LogoutServlet.class
│ │ │ ├── OnlineUser.class
│ │ │ ├── User.class
│ │ │ └── UserList.class
│ │ └── OutputSessionInfo.class
│ └── web.xml
├── ch10
│ ├── FileNotFound.html
│ ├── src
│ │ ├── DBExceptionServlet.java
│ │ ├── ExceptionHandlerServlet2.java
│ │ ├── ExceptionHandlerServlet.java
│ │ ├── ExceptionServlet.java
│ │ ├── FileExceptionServlet.java
│ │ └── HttpErrorHandlerServlet.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ └── ch10
│ │ ├── DBExceptionServlet.class
│ │ ├── ExceptionHandlerServlet2.class
│ │ ├── ExceptionHandlerServlet.class
│ │ ├── ExceptionServlet.class
│ │ ├── FileExceptionServlet.class
│ │ └── HttpErrorHandlerServlet.class
│ └── web.xml
├── ch11
│ └── src
│ ├── DBServlet.java
│ ├── TestServlet2.java
│ ├── TestServlet3.class
│ ├── TestServlet3.java
│ ├── TestServlet.java
│ ├── WelcomeServlet2.java
│ ├── WelcomeServlet3.java
│ └── WelcomeServlet.java
├── ch12
│ ├── date.jsp
│ ├── excep.jsp
│ ├── forward.jsp
│ ├── greeting.jsp
│ ├── gst
│ │ ├── admin
│ │ │ ├── admin_check.jsp
│ │ │ ├── admin_del.jsp
│ │ │ ├── admin_index.jsp
│ │ │ └── admin_login.html
│ │ ├── guestbook.sql
│ │ ├── index.jsp
│ │ ├── process.jsp
│ │ ├── say.html
│ │ └── util.jsp
│ ├── hello.jsp
│ ├── plugin.jsp
│ ├── price.jsp
│ └── TestApplet.java
├── ch13
│ ├── bookstore
│ │ ├── additem.jsp
│ │ ├── bookinfo.jsp
│ │ ├── catalog.jsp
│ │ ├── common.jsp
│ │ ├── delitem.jsp
│ │ ├── error.jsp
│ │ ├── index.jsp
│ │ ├── search.jsp
│ │ ├── showcart.jsp
│ │ └── src
│ │ ├── BookBean.java
│ │ ├── BookDBBean.java
│ │ ├── CartBean.java
│ │ └── CartItemBean.java
│ ├── reg.html
│ ├── reg.jsp
│ ├── src
│ │ └── UserBean.java
│ ├── userinfo.jsp
│ └── WEB-INF
│ └── classes
│ └── org
│ └── sunxin
│ └── lesson
│ └── jsp
│ ├── bookstore
│ │ ├── BookBean.class
│ │ ├── BookDBBean.class
│ │ ├── CartBean.class
│ │ └── CartItemBean.class
│ └── ch13
│ └── UserBean.class
├── ch14
│ ├── login2.html
│ ├── loginchk.jsp
│ ├── loginerr.jsp
│ ├── login.html
│ ├── src
│ │ ├── ControllerServlet.java
│ │ ├── UserBean.java
│ │ └── UserCheckBean.java
│ ├── Tomcat
│ │ └── work
│ │ └── ch14
│ ├── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── lesson
│ │ │ └── jsp
│ │ │ └── ch14
│ │ │ ├── ControllerServlet.class
│ │ │ ├── UserBean.class
│ │ │ └── UserCheckBean.class
│ │ └── web.xml
│ └── welcome.jsp
├── ch15
│ ├── greet.jsp
│ ├── hello.jsp
│ ├── iterate.jsp
│ ├── max_ex.jsp
│ ├── max.jsp
│ ├── src
│ │ ├── CaseTag.java
│ │ ├── DefaultTag.java
│ │ ├── GreetTag.java
│ │ ├── HelloTag.java
│ │ ├── IterateTag.java
│ │ ├── MaxExSimpleTag.java
│ │ ├── MaxTag.java
│ │ ├── SwitchTag.java
│ │ ├── UserBean.java
│ │ └── WelcomeSimpleTag.java
│ ├── switch.jsp
│ ├── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── lesson
│ │ │ └── jsp
│ │ │ └── ch15
│ │ │ ├── CaseTag.class
│ │ │ ├── DefaultTag.class
│ │ │ ├── GreetTag.class
│ │ │ ├── HelloTag.class
│ │ │ ├── IterateTag.class
│ │ │ ├── MaxExSimpleTag.class
│ │ │ ├── MaxTag.class
│ │ │ ├── SwitchTag.class
│ │ │ ├── UserBean.class
│ │ │ └── WelcomeSimpleTag.class
│ │ ├── tlds
│ │ │ └── MyTaglib.tld
│ │ └── web.xml
│ └── welcome.jsp
├── ch16
│ ├── src
│ │ └── MyFuncs.java
│ ├── test.jsp
│ └── WEB-INF
│ ├── classes
│ └── tlds
│ └── myfuncs.tld
├── ch18
│ ├── hello.jsp
│ ├── tohtml.jsp
│ ├── WEB-INF
│ │ ├── tags
│ │ │ ├── hello.tag
│ │ │ ├── toHtml.tag
│ │ │ └── welcome.tag
│ │ └── web.xml
│ └── welcome.jsp
├── ch19
│ ├── src
│ │ ├── DBExceptionServlet.java
│ │ ├── Hello.java
│ │ ├── hello.lcf
│ │ ├── Hello(例11-2).java
│ │ ├── Log4jInit.java
│ │ └── logs.sql
│ └── WEB-INF
│ ├── ch19.html
│ ├── ch19.log
│ ├── ch19xml.log
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ └── ch19
│ │ └── DBExceptionServlet.class
│ ├── jdbc.properties
│ ├── lib
│ │ └── log4j-1.2.9.jar
│ ├── log4j.properties
│ ├── log4j.xml
│ └── web.xml
├── ch20
│ ├── home.jsp
│ ├── index.jsp
│ ├── logon.jsp
│ ├── process.jsp
│ ├── say.html
│ ├── src
│ │ ├── ByteArrayServletOutputStream.java
│ │ ├── GuestbookFilter.java
│ │ ├── LogonFilter.java
│ │ ├── MyRequestWrapper.java
│ │ ├── MyResponseWrapper.java
│ │ └── SimpleFilter.java
│ ├── test.jsp
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ └── ch20
│ │ ├── ByteArrayServletOutputStream.class
│ │ ├── GuestbookFilter.class
│ │ ├── LogonFilter.class
│ │ ├── MyRequestWrapper.class
│ │ ├── MyResponseWrapper.class
│ │ └── SimpleFilter.class
│ ├── web.xml
│ └── word.txt
├── ch21
│ ├── form.jsp
│ ├── index.html
│ ├── src
│ │ ├── SetCharacterEncodingFilter.java
│ │ ├── SetLocaleFilter.java
│ │ └── TestServlet.java
│ ├── test.jsp
│ └── WEB-INF
│ ├── classes
│ │ ├── MyResource_en.properties
│ │ ├── MyResource.properties
│ │ ├── MyResource.tmp
│ │ ├── MyResource_zh_CN.properties
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ └── ch21
│ │ ├── SetCharacterEncodingFilter.class
│ │ ├── SetLocaleFilter.class
│ │ └── TestServlet.class
│ └── web.xml
├── ch22
│ ├── bak
│ ├── ch22
│ │ ├── index.jsp
│ │ ├── META-INF
│ │ │ └── context.xml
│ │ ├── upload2.jsp
│ │ ├── upload.html
│ │ ├── upload.jsp
│ │ └── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── lesson
│ │ │ └── jsp
│ │ │ └── ch22
│ │ │ ├── DownloadServlet.class
│ │ │ └── ImageHandlerServlet.class
│ │ ├── lib
│ │ │ └── commons-fileupload-1.0.jar
│ │ └── web.xml
│ ├── ch22.jpx
│ ├── ch22.jpx.local
│ ├── ch22.jpx.local~
│ ├── ch22.war
│ ├── classes
│ │ ├── Generated Source
│ │ ├── jsp cache
│ │ │ └── ch22
│ │ │ ├── org
│ │ │ │ └── apache
│ │ │ │ └── jsp
│ │ │ │ ├── index_jsp.class
│ │ │ │ ├── upload2_jsp.class
│ │ │ │ └── upload_jsp.class
│ │ │ └── package cache
│ │ │ └── org.apache.jsp.dep2
│ │ ├── org
│ │ │ └── sunxin
│ │ │ └── lesson
│ │ │ └── jsp
│ │ │ └── ch22
│ │ │ ├── DownloadServlet.class
│ │ │ └── ImageHandlerServlet.class
│ │ └── package cache
│ │ └── org.sunxin.lesson.jsp.ch22.dep2
│ ├── Servlet.library
│ ├── src
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ └── ch22
│ │ ├── DownloadServlet.java
│ │ └── ImageHandlerServlet.java
│ ├── Tomcat
│ │ ├── conf
│ │ │ └── server8080.xml
│ │ ├── webapps
│ │ └── work
│ │ └── ch22
│ │ ├── org
│ │ │ └── apache
│ │ │ └── jsp
│ │ │ ├── upload2_jsp.class
│ │ │ ├── upload2_jsp.java
│ │ │ ├── upload_jsp.class
│ │ │ └── upload_jsp.java
│ │ ├── SESSIONS.ser
│ │ └── tldCache.ser
│ └── upload.sql
├── ch23
│ ├── error.html
│ ├── index.html
│ ├── index.jsp
│ ├── login.html
│ ├── security.jsp
│ ├── test.html
│ ├── users.sql
│ └── WEB-INF
│ └── web.xml
├── ch24
│ ├── image.html
│ ├── images
│ │ └── 1.jpg
│ ├── index.jsp
│ ├── login.html
│ ├── src
│ │ ├── HandlerServlet.java
│ │ ├── ImageHandlerServlet.java
│ │ ├── LoginCheckServlet.java
│ │ ├── PicZoom.java
│ │ ├── RandomCodeServlet.java
│ │ └── TokenProcessor.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ ├── ch24
│ │ │ ├── HandlerServlet.class
│ │ │ ├── ImageHandlerServlet.class
│ │ │ ├── LoginCheckServlet.class
│ │ │ └── RandomCodeServlet.class
│ │ └── util
│ │ ├── PicZoom.class
│ │ └── TokenProcessor.class
│ └── web.xml
├── ch25
│ ├── build
│ │ ├── 200510281926.war
│ │ ├── 200510281930.war
│ │ ├── image.html
│ │ ├── images
│ │ │ └── 1.jpg
│ │ ├── index.jsp
│ │ ├── login.html
│ │ ├── src
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── lesson
│ │ │ └── jsp
│ │ │ ├── ch24
│ │ │ │ ├── HandlerServlet.java
│ │ │ │ ├── ImageHandlerServlet.java
│ │ │ │ ├── LoginCheckServlet.java
│ │ │ │ └── RandomCodeServlet.java
│ │ │ └── util
│ │ │ ├── PicZoom.java
│ │ │ └── TokenProcessor.java
│ │ └── WEB-INF
│ │ ├── classes
│ │ │ └── org
│ │ │ └── sunxin
│ │ │ └── lesson
│ │ │ └── jsp
│ │ │ ├── ch24
│ │ │ │ ├── HandlerServlet.class
│ │ │ │ ├── ImageHandlerServlet.class
│ │ │ │ ├── LoginCheckServlet.class
│ │ │ │ └── RandomCodeServlet.class
│ │ │ └── util
│ │ │ ├── PicZoom.class
│ │ │ └── TokenProcessor.class
│ │ └── web.xml
│ ├── build.xml
│ ├── image.html
│ ├── images
│ │ └── 1.jpg
│ ├── index.jsp
│ ├── login.html
│ ├── src
│ │ └── org
│ │ └── sunxin
│ │ └── lesson
│ │ └── jsp
│ │ ├── ch24
│ │ │ ├── HandlerServlet.java
│ │ │ ├── ImageHandlerServlet.java
│ │ │ ├── LoginCheckServlet.java
│ │ │ └── RandomCodeServlet.java
│ │ └── util
│ │ ├── PicZoom.java
│ │ └── TokenProcessor.java
│ ├── test
│ │ ├── build.xml
│ │ ├── error.txt
│ │ ├── mypackage
│ │ │ └── Test.class
│ │ ├── out.txt
│ │ └── Test.java
│ ├── WEB-INF
│ │ └── web.xml
│ └── 例25-1(build).xml
└── ch26
├── gst
│ ├── META-INF
│ │ └── context.xml
│ ├── src
│ │ └── org
│ │ └── sunxin
│ │ └── guestbook
│ │ ├── beans
│ │ │ ├── GuestbookDB.java
│ │ │ ├── Message.java
│ │ │ ├── User.java
│ │ │ └── User.jbx
│ │ ├── controller
│ │ │ ├── AdminDeleteMessageProcessor.java
│ │ │ ├── AdminDisplayMessageProcessor.java
│ │ │ ├── AdminLogonProcessor.java
│ │ │ ├── ControllerServlet.java
│ │ │ ├── DisplayMessageProcessor.java
│ │ │ ├── ErrorProcessor.java
│ │ │ ├── LogonProcessor.java
│ │ │ ├── Processor.java
│ │ │ ├── RegisterProcessor.java
│ │ │ ├── SayMessageProcessor.java
│ │ │ └── SuccessProcessor.java
│ │ ├── GuestbookException.java
│ │ ├── parser
│ │ │ └── RegisterPageParser.java
│ │ ├── UserException.java
│ │ ├── util
│ │ │ ├── CharacterConvert.java
│ │ │ └── Sax2Xml.java
│ │ └── view
│ │ └── XsltServlet.java
│ └── WEB-INF
│ ├── classes
│ │ └── org
│ │ └── sunxin
│ │ └── guestbook
│ │ ├── beans
│ │ │ ├── GuestbookDB.class
│ │ │ ├── Message.class
│ │ │ └── User.class
│ │ ├── controller
│ │ │ ├── AdminDeleteMessageProcessor.class
│ │ │ ├── AdminDisplayMessageProcessor.class
│ │ │ ├── AdminLogonProcessor.class
│ │ │ ├── ControllerServlet.class
│ │ │ ├── DisplayMessageProcessor.class
│ │ │ ├── ErrorProcessor.class
│ │ │ ├── LogonProcessor.class
│ │ │ ├── Processor.class
│ │ │ ├── RegisterProcessor.class
│ │ │ ├── SayMessageProcessor.class
│ │ │ └── SuccessProcessor.class
│ │ ├── GuestbookException.class
│ │ ├── parser
│ │ │ └── RegisterPageParser.class
│ │ ├── UserException.class
│ │ ├── util
│ │ │ ├── CharacterConvert.class
│ │ │ └── Sax2Xml.class
│ │ └── view
│ │ └── XsltServlet.class
│ ├── guestbook-config.xml
│ ├── lib
│ │ ├── dom4j-1.6.1.jar
│ │ └── jaxen-1.1-beta-6.jar
│ ├── web.xml
│ ├── xml
│ │ ├── footer.xml
│ │ ├── header.xml
│ │ └── style.xml
│ └── xslt
│ └── page.xsl
├── gst.war
└── guestbook.sql
231 directories, 477 files
评论