初学struts2.x,第一版

struts2.x
struts2.x 不是struts1.x的升级版,是struts1.x和WerbWork合作,来源于另一个非常有名的MVC框架WebWork

大的设计模式还是MVC
struts2的 控制器由两部分组成:FilterDispatcher和业务逻辑Action
struts2提高了丰富的视图展示:JSP,FreeMarker/Velocity,JasperReport等报表类型

AOP面向方面编程思想(OOP面向对象编程思想)


struts2.x的jar包里

struts-blank,war:该文档是一个简单的struts小例
struts-showcase.war:该文件展示了struts2的各种应用,对学习非常好

JSP页面:

 用户名:<input type="text" name="username"></input>${tip}<br/>


struts2没有表单一说,生成的类也不需要继承actionForm等,但需要添加一个execute方法

public String execute() throws Exception{
	return "success";//字符串必须和配置文件匹配
	// return "input";
}
struts2不用1.x的struts-config.xml,src下面有一个struts.xml配置文件
struts2有一个包的概念:

<struts>
	<package name="example" namespace="/" extends="struts-default">
		<action name="login" class="com.action.LoginAction" method="execute">
			<result name="success">/Success.jsp</result>
			<result name="input">/login.jsp</result>
		</action>	
	</package>
	<package name="forum" namespace="/" extends="example">
	</package>
<struts>
<package>标签属性
name:包的名称,必填属性,其他包可以通过该属性引用该包
extends:表名该包继承其他包,且可以继承其他包的action和拦截器
namespace:命名空间,区别同一个包中的重名action, 如果namespace="/abc",则jsp页面需要跳转:action="abc/login.action",可写可不写
abstract:是否为抽象包,抽象包里面不能包含action的定义


extends="struts-default": "struts-default"是struts2的默认配置,主要是bean配置和package配置两部分

bean的配置:通过bean的配置实现struts2最简单的依赖注入(DI)
package的配置:
result配置:提供了丰富的result类型包括传统的jsp,一些模板引擎freemarker,velocity以及plainText等
Interceptor的配置:拦截器是struts2的核心,几乎7成的实现通过拦截器实现的

Bean的配置:

<bean type="" name="" class="" scope="">
	type:struts2定义的规范接口
	class:bean实例的实现类
	name:Bean实例的名称
	scope:Bean的作用域
default的<result>标签name种类
chain:
	dispatcher:默认,跳转
	freemarker:
	redirect:重定向
	redirectAction
	stream:流,如传输图片等需要用到
	velocity:
	xslt:
	plainTest:显示html文本代码,源代码
	redirect-action:
	plaintest:

常量配置的三个地方:

1. struts.xml(最常用)
	<constant name="struts.custom.i18n.resources" value="MessageResource">
2. struts.properties
	struts.custom.i18n.resources=MessageResource
3. web.xml
	<init-param>
		<param-name>struts.custom.i18n.resources</param-name>
		<param-value>MessageResource</param-value>
	</init-param>


struts.xml里面<include>标签,配置其他xml文件

<include file="blog.xml"></include>


深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值