今天早上第一次完成了一个HelloWorld级别的Java Web项目login(登陆验证)项目。
按照《JavaEE主流开源框架(第二版)》的指导做的。
1、先下载了struts:struts-2.3.16.3-all.zip,解压之后看到struts-2.3.16.3目录下有一个lib目录,这个目录里的全部是jar文件,采用struts框架需要使用jar包都在这个目录下。
2、根据书上的说明,先在myeclipse8.5中建立web project,命名为Login。
然后把下面的五个jar文件放到Login/webRoot/web-inf/lib下,之后myeclipse自动在login下出现了Referenced Libraries目录下边是刚才添加的五个jar文件,说明这个五个jar文件已经被加入到buildpath了:
ognl-3.0.6.jar,
struts2-core-2.3.16.3.jar,
xwork-core-2.3.16.3.jar,
freemarker-2.3.19.jar,
commons-logging-1.1.3.jar
3、开发Model层的业务逻辑类
LoginService
4、开发视图文件,视图使用jsp实现。
开发了index.jsp和welcome.jsp
5、定义action类,定义了LoginAction类,
6、在struts.xml中配置Action类
7、在index.jsp中调用LoginAction
8、在web.xml中配置FilterDispatcher
然后开始调试,调试遇到几个问题:
1、编译遇到ClassNotFoundException,根据exception信息,给项目添加了个jar文件javassist-3.11.0.GA.jar、commons-lang3-3.1.jar、commons-io-2.2.jar、commons-fileupload-1.3.1.jar
2、index_jsp类没有生成,看问题是由于index.jsp中把struts写成了structs,多写了一个c导致的,同时在form中 action也没有写Login。
3、FilterDispatcher类无法解析,最后查看发现是web.xml中配置FilterDispatcher类的时候包名中的struts写成了structs,多写了一个c