首先是一个有表单元素的页面 用户通过输入完成表单 点击提交,因为是struts1所以先是把用户表单里输入的数据通过struts配置文件存到相应的form 然后action从form取到用户输入的值,并通过这些值来调用service里的方法,service则是调用dao里的方法并做业务逻辑处理,而dao就是基本JDBC的增删改查语句在通过struts配置文件转到指定的JSP页面(这个是流程)。
然后dto是数据传输对象, exception是你程序中一些地方的代码出问题后所出现的异常
至于init是你的action在掉用方法之前的程序默认的方法,(就是指定servlet掉doget或dopost方法)
说到java,很多人头都大成了两个,因为Java框架很多。但是比较好的方面是,这些框架都能解决特定的问题,提高开发效率、简化我们的代码复杂度,现在除了很多大家通用的一些主流框架外,很多公司针对自己的业务会自定义一些公司内部的框架,当然作为学习者java课程告诉大家首先要清楚Javaweb都有哪些框架需要学习。
回答这个问题首先要看我们的项目规模,对于”体量”较小的单应用项目,和需要处理海量数据、高并发的分布式项目所学习使用的框架还是不同的。
ORM型框架,很多Javaweb程序都需要使用关系数据库来进行数据的持久化,所以对于这种需要进行数据库操作的框架,也就是对JDBC进行封装的ORM框架是需要学习的,目前比较流行的是基于SQL的mybatis框架,这是一个轻量级的ORM框架,学习使用起来比较容易上手,同类型的还有Hibernate框架。
MVC型框架,MVC把程序从逻辑上分为视图层、控制层、模型层,各层各司其职,之间是相互调用的关系而不是相互依赖的关系,这种模式能很好的适应需求的变化及软件的升级变更。目前应用较多的MVC框架是springMVC框架,这个框架有清晰的角色划分,有强大而直接的配置方式,高效的绑定和验证等很多优势。较早的Struts2框架也是MVC框架。
Spring框架,其实Java的从业者很多都绕不开Spring,Spring家族有很多“工具”,编程思想从面相过程到面相对象是一个巨大的进步,然而随着程序越来越复杂,对象越来越多,高效的“管理”及应用这些对象变得越来越重要,Spring的IoC就是把对象的创建、“管理”交由Spring容器来进行,来实现控制反转,同时提供了各种注入值(DI)的方式,大大提高和简化了我们的工作,这就是javaweb需要学习的spring的IoC/DI;我们程序的业务比较复杂时,除了要完成核心功能外,还需要完成注入异常处理、日志记录、事务处理等常规功能,这些常规的操作比较耗费精力,springAOP(面向切面编程)就是解决这个问题的。
Javaweb需要学习一些前端框架,尤其是问题中提到的已经写好了数据接口,或者是已经有了简单的后台,前端框架jQuery是一定要学习的,如果项目基于效率考虑,需要前后端分离,可以学习vue等框架。
可能是开启了语法检测导致的,MyEclipse默认生成的HTML或者JSP可能会有语法错误,但是应该是没有关系的,你可以按照如下步骤更改MyEclipse的设置:
Windows->Preferences->MyEclipse Enterprise Workbench->Validation
你应该可以看到许多选项默认都是选中的,你可以将它们都不选中,然后Clean并重新编译一下Project就可以了
我抛砖引玉吧,这里面说的,是指在业务需求明确的情况下:一、开发框架技术选型:spring,struts,hibernate,ajax之类的。二、数据库表结构设计三、UI界面设计和实现(前台)四、后台业务代码实现、界面流转的编码实现(后台以及前后衔接)五、完善、细化功能(界面细节、程序效率优化之类的)六、集成测试
人们平常说的Java一般指JavaSE,也就是JavaStandardEdition,Java的标准版,一般用来开发桌面应用程序,但是在开发桌面应用程序上相对VB,Delphi,VC++并没有什么优势。
而JavaWeb则到了JavaEE领域了,也就是JavaEnterpriseEdition,Java的企业版,看那个web就应该想到是与Internet有关的,其实开发JavaWeb应用程序,初级的一般是用JSP(JavaServerPages)+servlet+Javabean来开发的,对大型的网站一般是使用框架来开发的,例如struts,hibernate,spring,例如校内,你在登陆的时候会在地址栏看见Logindo,登陆以后会看见Homedo这样的请求,典型的struts框架结构。
Java还有一个版本是JavaME,JavaMicroEdition,Java的微型版,诺基亚手机上运行的Java程序就是指用这个版本开发的程序。
WEB容器工作原理
市面上的javaweb容器常见的有两种,一种是jetty,一种是tomcat。要想用java实现web容器,首先要知道其工作原理。
以Tomcat为例,我们通常开发出来的war包,会放在tomcat中的webapp下面,tomcat会自动解压war包。解压完成后,其实就是一个servlet应用!换句话说,我们写的war包中的servlet应用只需要关注业务层面的,处理http等网络链接的事情交给都交给tomcat了,一个请求到达tomcat的流程如下图:
所以其实我们也可以手写一个web容器,只要能接收请求并转发给相应的servlet请求即可。
手写一个小的web容器
整体结构大致如下
1、写一个处理网络请求连接请求实体类、一个和网络请求连接响应实体类
2、写一个容器主类,包括启动监听端口等
3、写容器的接口,以及注解相关的url附加类便于让应用servlet
4、写一个app测试servlet,类似tomcat中跑的war包
如果你监听的端口是8888,那么就可以访问localhost:8888/app,就可以测试了
结语
java写web容器,其实没什么难的,简单的写一下了解一下原理即可,真实工作中是不建议自己写的,有很多问题会考虑不周的。关于web容器网上也有很多例子,可以借鉴了解一下。祝你学习愉快。
欢迎分享,转载请注明来源:表白网
评论列表(0条)