jsp注释,如何在eclipse上创建一个web项目?
方法:

1、打开Eclipse软件:打开后在工具栏依次点击【File】>>>【New】>>>【Dynamic Web Project】,这个就代表新建的项目是WEB项目
2、如果找不到【Dynamic Web Project】这个选项,说明以前没有建立过WEB项目,所以不在快捷导航里,这时点击【Other】这个选项
3、这个界面弹出的是查询窗口,查询的内容是所有可以建立的项目类型,比如JAVA项目、WEB项目等,都可以在这个窗口查询得到
4、在查询输入框里输入【WEB】,下面会列出所有WEB相关的项目,鼠标选中【Dynamic Web Project】,然后点击【Next】按钮
5、这个是填写项目的基本信息,包括项目名、项目运行时服务器版本,你可以选择tomcat或者其他都可以,看你的项目需要,在这里输入一个【Test】来测试项目的建立,输入完毕后点击【Next】
6、这个窗口显示的WEB项目中需要编译的JAVA文件的目录,默认是SRC目录,这个不需要改,直接点击【Next】
7、接着弹出窗口,显示的是WEB项目,WEB文件相关的目录,就是html或者jsp还有js那些web相关的文件存放的目录,默认是【WebContent】,你也可以修改成你想要的文件名,注意,下面有个复选框,表示的是是否要自动生成web.xml文件web.xml:这个文件是WEB项目的核心文件,也是WEB项目的入口,老版本的Eclipse都会有这个文件,但是新版本的Eclipse因为可以使用在JAVA代码中注解的方式,所以提供让用户选择是否要生成,如果是新手最好选择生成然后点击【Finish】
8、下面就是我们新建的WEB项目的目录结果JAVA存放目录:SRCWEB文件目录:WebContentWEB配置文件:web.xml现在,你可以开始你的JAVA开发之旅了。
是先学习设计模式还是spring?
学习Spring分三步:
了解它是什么,解决了什么问题补充前置知识学习如何使用SpringSpring是什么Spring用一句话概述就是:一个精巧的Bean容器。它拥有两个非常重要的概念:IoC和AOP。
IoC
所谓的控制反转。通俗地讲,就是把原本需要程序员自己创建和维护的一大堆bean统统交由Spring管理。
各位将就看一下,此乃在下早期画作,色彩运用有点泛滥...
也就是说,Spring将我们从盘根错节的依赖关系中解放了。当前对象如果需要依赖另一个对象,只要打一个@Autowired注解,Spring就会自动帮你安装上。
AOP
所谓的面向切面编程。通俗地讲,它一般被用来解决一些系统交叉业务的织入,比如日志啦、事务啥的。打个比方,UserService的method1可能要打印日志,BrandService的method2可能也需要。就可以具体用代码展示就是:
这个切面,同时作用于3个方法,切面本身可以代表日志,也可以代表事务
交叉业务的编程问题即为面向切面编程。而Spring AOP的做法其实是将切面代码移动到原始方法的周围:
原先不用AOP时(图一),交叉业务的代码直接硬编码在方法内部的前后,而AOP则是把交叉业务写在方法调用前后。那么,为什么AOP不把代码也写在方法内部的前后呢?两点原因:
首先,这与AOP的底层实现方式有关:动态代理其实就是代理对象调用目标对象的同名方法,并在调用前后加增强代码。
其次,这两种最终运行效果是一样的,所以没什么好纠结的。
AOP注重切面的模块化,即将切面代码做成一个可管理的状态。比如日志打印,不再是直接硬编码在方法中的零散语句,而是做成一个切面类,通过通知方法去执行切面代码。
我相信大部分培训班出来的朋友也就言尽于此,讲完上面内容就准备收拾打卡下班了。
怎么说呢,IOC按上面的解释,虽然很浅,但也马马虎虎吧。然而AOP,很多人对它的认识是非常片面的...
这样吧,我问你一个问题,现在我自己写了一个UserController,以及UserServiceImpl implements UserService,并且在UserController中注入Service层对象:
@Autowired private UserService userService;
那么,这个userService一定是我们写的UserServiceImpl的实例吗?
如果你听不懂我要问什么,说明你对Spring的AOP理解还是太少了。
实际上,Spring依赖注入的对象并不一定是我们自己写的类的实例,也可能是userServiceImpl的代理对象。下面分别演示这两种情况:
注入userServiceImpl对象注入的是UserServiceImpl类型
注入userServiceImpl的代理对象(CGLib动态代理)注入的是CGLib动态代理生成的userServiceImpl的代理对象
为什么两次注入的对象不同?
因为第二次我给UserServiceImpl加了@Transactional 注解。
此时Spring读取到这个注解,便知道我们要使用事务。而我们编写的UserService类中并没有包含任何事务相关的代码。如果给你,你会怎么做?动态代理嘛!
看到这里,我仿佛听到有一部分兄弟默默说了句:卧槽...
但是,上面对IOC和AOP的理解,也仅仅是应用级别,是一个面。仅仅了解到这个程度,对Spring的了解还是非常扁平的,不够立体。但我觉得我已经把Spring的大概面貌展现出来了,接下来你可以自己学了。在此之前,我建议最好复习一下Java的高阶知识点。
学习Spring的前置知识Servlet
只是学习Spring的话,其实可以不学Servlet,但web开发总是绕不开SpringMVC,SpringBoot也是如此。关于Servlet,主要是了解下生命周期方法、匹配路径、GET/POST请求及参数处理。
具体可以参考:
servlet的本质是什么,它是如何工作的?
注解
注解非常重要,好多初学者不够重视,这会导致后期在各种注解中迷失。而且现在大部分企业都在往Springboot、SpringCloud转型,新的框架都大量地使用注解,非常重要。
java注解是怎么实现的?
反射
框架的底层支撑,可以说是根本。很多初学者其实对反射云里雾里的,不能很好地理解,更不明白怎么用。其实注解搭配反射,可以玩出很多花样。
动态代理
Spring说穿了,就是IOC和AOP。动态代理在Spring中份量很重。
不过,千里之行始于足下,我觉得对于初学者来说,最重要的是知道Spring就是个很大的bean容器,还能自动装配bean。
Java动态代理的作用是什么
此时你再去学习Spring,就会事半功倍了。
如果对你有帮助,可以点个赞哟~
另外,答主呕心沥血写了半年的Java小册已经上线了,欢迎订购~
Spring学习视频:https://www.bilibili.com/video/av715776098
该回答转载自乐字节
在公司已经看了两个礼拜的代码了?
我曾开发过非常复杂的系统,系统总代码量超过千万行, 还是有资本回答一下这个问题的。
从代码逻辑来理解业务逻辑确实是一个比较难的事情,特别是代码量非常大的情况下。这就好比把一个人扔到原始森林里面,让他分析一下这个森林的外轮廓是什么形状一样。
如果我们身陷其中,那么可能就会有一种非常无助,摸不到头绪的感觉。如果代码量有数百万,甚至千万行,那将是一个极大的挑战。甚至让人进入一种绝望的境地。正所谓,“不识庐山真面目,只缘身在此山中”。所以,这个时候我们应该跳出来。
怎么跳出来呢?其实就是所谓的上帝视角,如果我们站的更高一些,那么我们就很容易搞清楚。比如对于原始森林的轮廓,如果我们能在飞机,或者空间站来观察,那么就很容易知道其轮廓。
阅读代码也是如此。如果我们先了解业务逻辑,知道短代码是做什么的,然后再去理解代码的实现逻辑就轻松的多了。所以,不要因为看了两周代码没有头绪就丧失信心,觉得不能胜任工作。
总体来说,阅读代码还是要讲究一些方法的,只用通过正确的方法,才能达到事半功倍的效果。这里我们总结一下基本思路。
由具体到抽象人类认识事物的规律是具体的事情容易理解,抽象的事情不容易理解。比如一个做Web前端的程序员,看到结果后马上就能清楚与期望的差异,但是你让他根据CSS和JS来判断跟期望的差异将非常困难。
其它代码也是如此,如果我们先理解业务逻辑,或者先运行代码知道代码的运行过程及结果。那么再去理解代码将变得比较容易了。
辅助方法有些代码纯靠阅读是很难理解的,这个时候可以借助一些辅助的方法来理解。最为有效的方法自然是运行和调试代码。比如在代码中添加一些日志,或者通过调试工具,分子流程的理解代码。这样我们就能够各个击破的理解整体代码。
辅助工具一个好用的工具能够起到事半功倍的效果。因此,如果你还没有一个比较好的开发或者阅读代码的工具,可以选择一个。这方面的工具很多,比如C/C++用的source insight,Python的PyCharm,Java的Eclipse等等,类似的工具太多了。
如果你对代码有了非常清晰的理解,再去开发就非常容易了。
当然,其实在大型项目中是不可能理解所有代码的。通常你只需要理解你负责的那部分就像。可以先小范围,然后再扩大范围。
最好,加油吧,要有信心,一定可以胜任的!!!
想成为java高级程序员?
分享一份BAT等大型互联网公司的主流技术选型清单,如果你立志成为Java高级程序员甚至架构师,建议收藏,然后有计划地持续学习,不断去扩大自己的技术栈,会得越多,解决问题的能力越强,坚持不懈,你终将会实现自己的高级Java工程师梦想。
从初级到高级Java程序员,需要学习及掌握的技术主要包括:数据结构和算法、Java高级特性、Java web核心、数据库、Java框架与必备工具、系统架构设计等。
1、并发编程:集合框架(源码)、框架Spring、SpringMVC、Mybatis、Netty、服务器(tomcat、Nginx)、网络编程、JVM等。通过深入了解最底层的运作原理,加强逻辑思维,才能编写出高效、安全的多线程并发程序。
2、设计模式:工厂模式、代理模式等。设计模式是可复用面向对象软件的基础,学习设计模试是每一位Java工程师进阶的必经之路,灵活地使用设计模式,可以让代码变得简洁、易懂、复用性更高。
3、研发相关的框架工具:debug、高效去重、代码review等等。工欲善其事必先利其器,熟练掌握并应用这些工具,能够更高效、有质量地工作。
3、分布式架构::分布式Session、分布式缓存、数据库、一致性、负载均衡、消息队列(RabbitMQ、ZeroMQ、Kafka)等随着业务体量及重要性的增大,单体架构模式无法对应大型应用场景,系统也决不允许存在单点故障导致整体不可用,所以只有垂直或水平拆分业务系统,形成一个分布式的架构来消除单点故障,从而提高整个系统的可用性。
4、微服务:微服务Dubbo和SpringCloud微服务是Java开发人员最重要的技能之一,因时因地制宜,选择使用微服务架构的收益将远远大于成本。
下面是一张互联网通用的架构图,其中每个环节都是微服务的核心部分。
更多微服务相关的知识,Mike在往期发表的“阿里P8架构师谈:微服务Dubbo和SpringCloud架构设计、优劣势比较“一文中有详细阐述。
5、JVM性能优化:Java内存区域、垃圾回收器、性能优化等6、架构关键基础设施:zookeeper、分布式消息、异步与MQ、Kafka、Redis、数据储存、分布式缓存、Nginx等以上,希望对想要从程序员进阶为高级Java、架构师之路的朋友能够有所帮助。
最后,Mike想说,如果你能够认清自己以及自己所处的阶段,有针对性的去思考、充电,坚持做正确的事,付出比别人更多的努力,你就会比别人更加优秀,拥有更多的机会,这就是我们常说的马太效应:越努力,越幸运。
怎样学习Java?
给您推荐Java学习路线图,是菊厂童鞋做开发经常使用的一些技术和工具,希望能帮助到您~
前端部分:1)HTML:网页的核心语言,构成网页的基础2)CSS:使网页更加丰富多彩灿烂的利器3)JavaScript:使网页动起来的根本,加强了网页和用户之间的交互4)HTML DOM:换一种更加形象化的角度来看待网页,让我们更加方便的控制网页5)HTML BOM:与浏览器交互不可或缺的工具6)JavaScript库,主要是:jQuery及其插件、YUI及其插件,使编写网页更加的方便快捷和健壮的强大工具7)AJAX:异步提交,增强了用户使用网页的良好交互体验8)JSON:比 XML更小、更快,更易解析的数据传输工具9)FLEX:提供丰富多彩的动画效果10)普元工作流:更加清晰明了的帮助用户处理业务流程上面的工作11)JSP:Servlet的展示层,使网页逻辑与网页设计的显示分离12)JSTL:加强和简化了JSP页面的开发13)EL:使JSP页面写起来更加简单后台部分:1)JAVA语言编程基础部分:内容丰富是Java知识体系结构的核心和基础2)JDBC:提供了一种基准,据此可以构建更高级的工具和接口,使Java开发人员能够编写数据库应用程序3)JavaMail:用于电子邮件的相关的编程工作4)JUnit:单元测试,整个变成工作测试的地位始终非常重要5)Log4j:使我们能够更加细致地控制日志的生成过程6)Servlet:JavaWeb的核心7)Struts2:JavaWeb编程中明星级的框架,优点多功能强使编程工作更简单,主要用于控制跳转8)Spring:JavaWeb编程中明星级的框架,同样优点多功能强使编程工作更简单,主要用于管理对象9)iBatis:JavaWeb编程中明星级的框架,同样也是优点多功能强使编程工作更简单,主要用于程序和数据库之间的交互10)SQL:与数据库交互式编程的必备工具版本控制:1)SVN:版本控制,方便团队协同工作WEB服务器:1)Tomcat:优秀免费的中小型WEB服务器2)Weblogic:功能很强大的WEB服务器开发工具:1)Eclipse:开源强大的Java编程工具2)MyEclipse:在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境数据库:1)Oracle:数据库业界老大,这个常用一点当然,也仅仅是常用一些常用的功能而已,需要加强2)MySQL:最好的关系型数据库之一3)SqlServer:最好的关系型数据库之一数据库客户端:1)Toad:非常棒的数据库客户端软件操作系统:1)Windows2)Linux远程登录的会话工具:1)SSH:一直在用,非常不错其他:各种种类和版本的浏览器(推荐使用FireFox)、office办公软件系列、各种文本编辑器(推荐Sublime)、各种阅读器等等下面是从网上找的三幅图片,比较好的说明了作为一个Java程序员的学习路线图,这里作为一种自我提醒的工具,不时看看,并且会赶紧修补自己的知识树!1、Java的知识体系结构2、JavaWeb开发的基本学习路线图3、JavaWeb开发的成长路线图第一部分:Java高级学习课程大纲
1、工程化专题我们的工程化专题有五大内容:Maven、Nexus 、jenkins、代码审查 、Git/SVN一共耗时一个月2、源码分析专题源码分析有三大内容: spring的源码分析,里面包括FactoryBean和MVC和事务处理与Spring源码中设计模式分析;持久层 ;企业级开发前瞻,一共耗时2个月3、高并发与高性能高并发与高性能有四大内容:并发编程, 里面又包含有线程安全和NIO和AIO 。异步通信,里面包含有本地队列和消息中间件。分布式协调技术,里面包含有Zookeeper和服务锁 。NoSqI: 里面包含有 MongoDB和Redis和Memcached 。一共耗时2个月4、高可用性与可扩展高可用性与可扩展有两大内容: 分布式架构介绍,里面有导流技术和服务设计和存储设计。服务调用,里面包含有WebService和Dubbo。 一共耗时2个月5、性能优化性能优化有四大内容:优化技巧,如何寻找性能瓶颈。JVM优化。数据库优化。服务器优化。一共耗时2个月上面这五大专题,是几位工作经验十多年的大牛,根据自己往年的工作经验与经历,在根据现在科技发展的实际情况,历经几个月的时间编写而成,换句话说,上面的五大专题,也就是他们这十几年精华总结,现在,您只要按照上面的课题学习,只需要花费掉七个月多的时间,就能够学会与理解几位大牛十多年总结出来的精华。学完这些,还怕公司老总不给涨工资和升职么?第二部分:阶段性的学习
学什么东西都一样,小宅相信大家也是一样,在学东西的时候,总会安排好自己阶段性的学习,这样才能有效的提升自己与有效的理解和认知所学的知识。合理安排好,才能起到事半功倍的效果。阶段一:阶段二:阶段三:阶段四:阶段五:

还没有评论,来说两句吧...