首页 > 编程知识 正文

java框架搭建,java框架搭建div

时间:2024-04-27 11:08:30 阅读:334509 作者:FYUM

本文目录一览:

JAVA SSH框架搭建流程

首先,明确spring,struts,hibernate在环境中各自的作用。

struts:

用来响应用户的action,对应到相应的类进行处理。需要struts对应的包。

hibernate:

用来把实体类对应到数据库。提供增删改查的基本操作实现。需要hibernate对应的包以及mysql的jdbc驱动包。

spring:

管理struts:在xml配置文件中为struts的action进行值注入。

管理hibernate:在xml配置文件中配置hibernate的配置信息(dataSource,sessionFactory),即不需要原来的hibernate的xml文件。为hibernate的dao操作注入sessionfactory属性值。

需要提供spring对应的包,除此以外,还需要提供一个整合spring与struts的包:truts2-spring-plugin-2.0.11.1.jar

下面就搭建步骤进行详细说明:

1、新建一个web project,导入包,需要的包放在文件夹sshlib中。

2、修改web.xml的配置信息,内容如下:

?xml version="1.0" encoding="UTF-8"?

web-app version="2.5" xmlns=" "

xmlns:xsi=" "

xsi:schemaLocation="

"

welcome-file-list

welcome-fileindex.jsp/welcome-file

/welcome-file-list

!-- 下面的listener,是spring提供的,它会在创建时自动查找WEB-INF下的applicationContext.xml文件 ,从而创建spring容器--

listener

listener-class

org.springframework.web.context.ContextLoaderListener

/listener-class

/listener

!-- 下面的配置作用是:在MyEclipse中,系统会自动到WEB-INF下寻找 applicationContext.xml文件,而系统

会自动将applicationContext.xml放置到WEB-INF下的classes下,所以会产生找不到applicationContext.xml的错误,需要指明applicationContext.xml

的放置位置。这就是下面的信息作用。在Eclipse中也许不需要此配置信息。--

context-param

param-namecontextConfigLocation/param-name

param-value

/WEB-INF/classes/applicationContext.xml

/param-value

/context-param

!-- 下面的配置信息,用来配置说明使用struts过滤器 --

filter

filter-namestruts2/filter-name

filter-class

org.apache.struts2.dispatcher.FilterDispatcher

/filter-class

!--

下面的配置信息用来说明:程序中运行的action放置在哪个包下面,对于list.action的请求,它会自动在这个包下面寻找ListAction.class的类

如果没有这句话,那么所有的action请求只能在struts.xml中进行配置。

--

init-param

param-nameactionPackages/param-name

param-value

com.action

/param-value

/init-param

/filter

!--

下面的配置表示对于所有请求都交给struts来处理。

--

filter-mapping

filter-namestruts2/filter-name

url-pattern/*/url-pattern

/filter-mapping

/web-app

3、接下来用来配置struts.xml

?xml version="1.0" encoding="UTF-8" ?

!DOCTYPE struts PUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

" "

struts

!-- 指定Web应用的默认编码集。该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,应该将该属性值设置为GBK或者GB2312 当设置该参数为GBK时,相当于调用HttpServletRequest的setCharacterEncoding方法 --

constant name="struts.i18n.encoding" value="utf-8" /

constant name="struts.devMode" value="true" /

package name="default" namespace="/" extends="struts-default"

interceptors

!-- 定义拦截器 --

interceptor name="crudInterceptor"

class="com.action.CrudInterceptor" /

interceptor-stack name="appStack"

interceptor-ref name="crudInterceptor" /

!-- 下面一行自带的拦截器必须加上,否则出错 --

interceptor-ref name="defaultStack" /

/interceptor-stack

/interceptors

!-- 使用默认拦截器配置Action都需要拦截器堆栈

即所有struts请求都自动先交给拦截器处理。关于拦截器的具体规则在拦截器对应类(com.action.CrudInterceptor)中进行了解释。

--

default-interceptor-ref name="appStack"/default-interceptor-ref

/package

/struts

4、接下来配置applicationContext.xml:

?xml version="1.0" encoding="UTF-8"?

beans xmlns=" "

xmlns:aop=" "

xmlns:xsi=" "

xsi:schemaLocation="

"

!-- 数据源 --

bean id="dataSource"

class="org.springframework.jdbc.datasource.DriverManagerDataSource"

property name="driverClassName"

value="org.gjt.mm.mysql.Driver" /

property name="url" value="jdbc:mysql://localhost:3306/user" /

property name="username" value="root" /

property name="password" value="" /

/bean

!-- sessionFactory配置 --

bean id="sessionFactory"

class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"

property name="dataSource" ref="dataSource" /

property name="mappingResources"

list

valuecom/ssh/User.hbm.xml/value

/list

/property

!-- 定义sessionFactory的属性 --

property name="hibernateProperties"

props

prop key="hibernate.dialect"

org.hibernate.dialect.MySQL5InnoDBDialect

/prop

prop key="hibernate.hbm2ddl.auto"update/prop

prop key="hibernate.show_sql"true/prop

prop key="hibernate.format_sql"true/prop

/props

/property

/bean

!-- hibernate的类名,属性名和数据库之间的对应关系的自定义 com.ynstudio.tools.LocalNamingStrategy --

bean id="namingStrategy"

class="org.hibernate.cfg.ImprovedNamingStrategy"

/bean

!-- 定义DAO的bean --

bean id="userDao"

class="com.ssh.UserDaoImpl"

property name="sessionFactory" ref="sessionFactory" /

/bean

!--

下面的代码用来向Action类注入属性值

--

bean id="crudAction" class="com.action.CrudAction"

property name="userDao" ref="userDao"/property

/bean

/beans

5、上述配置文件完成后,就开始业务逻辑部分。

首先完成hibernate的curd操作部分内容。

设计一个User实体类。包含数据库中User表的字段。

新建一个User.hbm.xml文件,实现实体类与数据库的关联。内容如下:

?xml version="1.0"?

!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD//EN"

" "

hibernate-mapping

class name="com.ssh.User" table="user"

id name="id" column="id"

generator class="increment" /

/id

property name="username" column="username" /

property name="password" column="password" /

property name="birthday" column="birthday" /

property name="email" column="email" /

/class

/hibernate-mapping

接下来需要实现dao操作。

设计一个类继承了HibernateDaoSupport类。关于HibernateDaoSupport类,请参考相关文档。

6、完成hibernate的设计后,接下来设计struts的拦截器和struts的action。

struts的拦截器:

package com.action;

import java.lang.reflect.Method;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

/**

* 这个类的是拦截器。

* 对于如下URL:

*

* actionInvocation.invoke()方法会自动调用名称了HelloAction类的list方法。

* 在action中根据该方法的返回值决定页面显示或跳转位置。

* result值除了可以再action类中定义,还可以在struts.xml中配置。

* 配置时可采用如下语句:

* action name="hello" class="crudAction"

* result name="list"/list.jsp/result

* result name="modify"/modify.jsp/result

* /action

* 此处需要格外注意的是:class属性的值,此值是applicationContext.xml中的id。

* 该bean中注入了action类中属性userDao的值。

* 所以,如果需要使用struts.xml中的action配置,需要使用该id,否则,系统不会给其注入值,最终导致空指针异常。

* @author HeXiaoXing

*

*/

public class CrudInterceptor extends AbstractInterceptor{

public String intercept(ActionInvocation actionInvocation) throws Exception {

/*

*下面代码演示了获取请求的类名与方法名的一半方式,但本例中不涉及。 全部注释掉。

*/

// Object action = actionInvocation.getAction();

// Class actionClass = action.getClass();

// String actionClassName = actionClass.getSimpleName();

// String methodName = actionInvocation.getProxy().getMethod();

return actionInvocation.invoke();

}

}

struts的action,关于此action的全部内容,请参考源程序CrudAction。

7、完成了类设计后,就是页面的设计,关于页面的设计,不再一一叙述,给粗源文件,请自行参考。

需要提出的是,在转向时,url的格式必须是method:方法名。这是约定的,不可以写成method=方法名。

java怎么创建框架

JAVA框架主流的有以下四款:

Struts1框架是apache公司的开源子项目,是基于mvc逻辑分层的web层框架实现。是出现最早的web层框架,应用最广发。Struts1框架重点关注的是控制层,对于视图层只是提供了大量的标签;对于model层的影响微乎其微。

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。

北大青鸟java培训:零基础学java容易吗?

怎么学好java编程?零基础学java容易吗?如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。

电脑培训介绍第一部分:对于尚未做过Java工作的人,包括一些在校生以及刚准备转行Java的小白。

一、Java基础首先去找一个Java的基础教程学一下。

学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试。

学完以上内容以后,你应该对Java有一个基本的了解了,你可以用Java语言写出一些简单的程序,并且你用的是最简单的编辑器,比如记事本。

这个时候,不要急于进入下一部分,留下几天好好写一些程序,尽可能熟悉这些基础内容。

二、Web开发等你写上几天程序以后,你往往会比较迷茫,因为你写的东西似乎看起来毫无用处,比如实现一个简单的计算器,读取一个文件等。

这个时候你就应该去学着写一些让你觉得有意思的东西了,所以你应该学习更多的知识。

这些内容主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。

它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面)。

三、开发框架当你学会以上内容以后,这个时候你还不足以参加工作,你还需要继续深造。

公司里为了提高开发的效率,会使用一些JavaWeb框架,因此你还需要学习一些开发框架。

目前比较主流的是SSM框架,即spring、springmvc、mybatis。

你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。

你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。

说了这么多,其实还没有说完,要想高效的学习Java,最好去参加有实力的培训机构,虽然花点钱,但是效率却很高,时间是很宝贵的,省下来的时间就可以去工作挣钱了。

不同基础转行Java,分别该怎么学习?

零基础学习Java技术开发和有一定Java基础的学员学习Java技术开发在学习方式方法上有所不同,学习的内容也会不一样,所以无论是有没有Java基础的小伙伴参加Java培训最好选择可以“因材施教,分级培优”的只有这样才能学习到真正的知识本领。如果自学Java技术开发一定要制定好Java学习路线图,下面针对不同基础学员进行介绍

一、零基础初学Java

对于尚未做过Java工作的同学,包括一些在校生以及刚准备转行Java的同学。

1、Java基础

首先去找一个Java的基础教程学一下,学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试。

学完以上内容以后,你应该对Java有一个基本的了解了,你可以用Java语言写出一些简单的程序,并且你用的是最简单的编辑器,比如记事本。

这个时候,不要急于进入下一部分,留下几天好好写一些程序,尽可能熟悉这些基础内容。

老司机觉得,自学真的不如找个Java培训机构,免了自己的盲从,根本不知道如何是好,从哪开始,又如何去进展。昆明北大青鸟录制了一套Java视频教程从零基础开始学习Java技术开发

当然最直接的就是来昆明北大青鸟,毕竟IT培训行业老大的地位,不是白来的,教学环境啊,试听一下看看教学质量啊,当然你可能作为一个小白也不太懂,但是你可以看看和你一样参加培训的人多不多嘛。

最后这个权当老司机发动一下车,那么没毛病了,你就可以选择了。最重要的一点,既然选择参加Java培训,上课方式很重要。这个不多说,因为你懂得!

2、Web开发

等你写上几天程序以后,你往往会比较迷茫,因为你写的东西似乎看起来毫无用处,比如实现一个简单的计算器,读取一个文件等。这个时候你就应该去学着写一些让你觉得有意思的东西了,所以你应该学习更多的知识。

这些内容主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。

它们的学习顺序应该是从前到后,因此最先学习的应该是HTML/CSS/JS(前端页面),你可以试着自己写一些页面,当然,你可以尽你最大的努力让它变得最漂亮。这部分内容对于后端Java来说,理论上不是特别重要,但至少要达到可以自己写出一些简单页面的水平。

3、开发框架

当你学会以上内容以后,这个时候你还不足以参加工作,你还需要继续深造。公司里为了提高开发的效率,会使用一些JavaWeb框架,因此你还需要学习一些开发框架。

目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。但你一定要可以快速的利用它们三个搭建出一个Web框架,你可以记录下你第一次搭建的过程,相信我,你一定会用到的。

还要提一句的是,你在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后工作当中几乎是必须要使用的工具,所以你在搭建SSM的过程中,也可以顺便了解一下maven的知识。

在你目前这个阶段,你只需要在网络上了解一下maven基本的使用方法即可,一些高端的用法随着你工作经验的增加,会逐渐接触到的。

4、找工作

当你完成开发框架的学习以后,你就该找工作了,在校的找实习,毕业的找全职。与此同时,在找工作的同时,你不应该停下你的学习,准确的说,是你在以后都不能停下学习。

上面这些内容你只是囫囵吞枣的学会了使用,你可以逐步尝试着去了解更多的东西,网络是你最重要的老师。

二、参加工作一年内的同学学习Java技术开发

恭喜你,这个时候,你已经拥有了一份Java的工作。这个阶段是你成长极快的阶段,而且你可能会经常加班。

但是加班不代表你就可以松懈了,永远记得我说的那句话,从你入行那一刻起,你就要不停的学习。

三、参加工作1-2年的同学

这部分时间段的同学,已经对Java有了一个更加深入的了解。但是对于面向对象的体会可能还不够深刻,编程的时候还停留在完成功能的层次,很少会去考虑设计的问题。

于是这个时候,设计模式就来了。因此,建议大家,最多在你工作一年的时候,必须开始写博客,而设计模式就是你博客的开端。

请记住,我所提的基本都是最低要求,因此不要有任何松懈的心理,否则五年后,你不要去羡慕别人高于你的工资,也不要去羡慕别人进入了某公司。

这一年,你必须对于设计模式了如指掌

总而言之,这个阶段,你的核心任务就是提高你的代码能力,要能写出一手优雅的代码。

四、参加工作2-3年的同学

有的同学在这个时候觉得自己已经很牛逼了,于是忍不住开始慢慢松懈。请记住,你还嫩的多。

另外,在过去2年的工作当中,你肯定或多或少接触过并发。这个时候,你应该去更加深入的了解并发相关的知识,而这部分内容,我比较推荐《Java并发编程实战》这本书。只要你把这本书啃下来了,并发的部分基本已经了解了十之六七。

与此同时,这个阶段你要做的事情还远不止如此。这个时候,你应该对于你所使用的框架应该有了更深入的了解,对于Java的类库也有了更深入的了解。因此,你需要去看一些JDK中的类的源码,也包括你所使用的框架的源码。

这些源码能看懂的前提是,你必须对设计模式非常了解。否则的话,你看源码的过程中,永远会有这样那样的疑问,这段代码为什么要这么写?为什么要定义这个接口,它看起来好像很多余?

由此也可以看出,这些学习的过程是环环相扣的,如果你任何一个阶段拉下来了,那么你就真的跟不上了,或者说是一步慢步步慢。而且我很负责的告诉你,我在这个阶段的时候,所学习的东西远多于这里所罗列出来的。因此千万不要觉得你已经学的很多了,我所说的这些都只是最低要求,不光是我,很多人在这个时间段所学习的内容都远超本文的范围。

如果你不能跟上节奏的话,若干年后,如果不是程序猿市场还不错的话,你很可能不仅仅是工资比别人低,公司没别人好,而是根本就找不到工作。

另外,还有一种学习的方式,在2年这个阶段,也应该启用了,那就是造轮子。

不要听信那套“不要重复造轮子”的论调,那是公司为了节省时间成本编造出来的。重复造轮子或许对别人没有价值,因为你造的轮子可能早就有了,而且一般情况下你造出来的轮子还没有现存的好。但是对别人没有价值,不代表对你自己没有价值。

一个造轮子的过程,是一个从无到有的过程。这个过程可以对你进行系统的锻炼,它不仅考察你的编码能力,还考察你的框架设计能力,你需要让你的轮子拥有足够好的扩展性、健壮性。

而且在造轮子的过程中,你会遇到各种各样的难题,这些难题往往又是你学习的契机。当你把轮子造好的时候,你一定会发现,其实你自己收获了很多。

所以,这个阶段,除了上面提到的了解JVM、JDK和框架源码以外,也请你根据别人优秀的源码,去造一个任何你能够想象出来的轮子。

五、总结

每个人吸收知识的时候,都要有抽取精华,去除糟粕的能力。以上所说的,可能有些是对的,有些是错的,有些是适合你的,有些是不太适合你的,你要自己能够判断。

其实你在生活和工作当中也是一样的,你身边的人形形色色,有的人你喜欢,有的人你很讨厌。但其实你喜欢的人也有缺点,你讨厌的人也有优点。你要学会从你讨厌的人身上学会他的优点,千万不要一棒子打死,这只会让你失去很多学习成长的机会。

免责声明:内容来源于公开网络,若涉及侵权联系尽快删除!

要什么水平才可以搭建Java框架?我是新手

熟悉软件架构,Java基础,一般框架结构。就可以开发自己的框架了。

框架就是能够快速开发某种软件的一个核心模块。是一种总结。

零基础学java应该从哪里开始?

学习任何一门编程语言,首先要学习的是基础语法,开启Java学习的第一步,当然就是深入掌握计算机基础、编程基础语法,面向对象,集合、IO流、线程、并发、异常及网络编程,这些我们称之为JavaSE基础。当你掌握了这些内容之后,你就可以做出诸如:电脑上安装的迅雷下载软件、QQ聊天客户端、考勤管理系统等桌面端软件。

那我需要怎么才能学好java?学java无非就是自学和报班这两种方式,至于java自学还是报班好,这个还是需要根据您自身的条件来判断的。如果您自控能力、自学能力且有基础那自学好。反之报班好。下面跟您说一下java自学与报java培训班学的不同之处,供您参考。

Java自学:好的地方是省钱,不太好的就是学习时间不确定,学习周期很容易拉长,学习不够系统,对于没有基础的或者自控力不强的人来说,也容易导致半途而废。遇到不懂的问题没有人解答,难以往下进行学习,而且容易学的半知半解。

Java培训:学习时间相对较短,整体学习比较全面,学习内容也比较集中。专业老师按照大纲进行系统授课,在学习中遇到技术问题能够快速得到解决,同时还有专项的练习相对于自学,学习气氛更加浓厚,跟同期学员对问题的探讨,对拓展思路有很大的帮助。并且像一些专业的培训机构,培训完后有相应的就业课程和就业指导,比起自学来说求职胜算更大。

如果您学Java是因为单纯的兴趣爱好,自学是一个很不错的选择。但如果您想通过学Java技术转行的话,那么最好是选择参加Java培训班。当然,可能现在的您感觉参加Java培训班学费很贵,但是对于可以通过学习找到工作,还是比较值得的。

总之,零基础小白学习JAVA要懂得一个道理,学习和掌握java相关技术也非一朝一夕之事,不可能一蹴而就,除了知识理论的学习,还需要后续更深入的学习和大量的实践,所以需要你一个良好的学习规划。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。