JavaWeb开发一书的学习1

<%=new Date()%>直接输出时间

[color=red]EL表达式[/color]
${empty param.name}判断是否为空,返回true或者false
${applicationScope.user.name}=${applicationScope.user["name"]},若属性名包含特殊符号或者是通过变量传入的,则必须用后一种

[color=red]与输入有关的内置对象param和paramValues[/color]
request.getParameter(String name)
request.getParameterValues(name)
${param.name}
${paramValues.hobby[0]}

[color=red]cookie内置对象[/color]
Cookie c = new Cookie("name","xj");
response.addCookie(c);
${cookie.name.value}

[color=red]header内置对象[/color]${header["host"] }
${header["user-agent"] }

[color=red]initParam内置对象[/color]
取得在web站点中设置的环境参数(context)值
web.xml
<context-param>
<param-name>name</param-name>
<param-value>xj</param-value>
</context-param>
${initParam.name}

[color=red]pageContext内置对象[/color]
用来取得有关用户请求和页面的详细信息
请求参数的字符串${pageContext.request.queryString}<br>
请求URL${pageContext.request.requestURL}<br>
web应用名称${pageContext.request.contextPath}<br>
HTTP请求方式${pageContext.request.method}<br>
使用的协议${pageContext.request.protocol}<br>
用户ip地址${pageContext.request.remoteAddr}<br>
session是否为新${pageContext.session.new}<br>
sessionID${pageContext.session.id}<br>


[color=red]DAO设计模式[/color]
[color=green]数据库连接类、VO类、DAO接口、DAO实现类、DAO工厂类[/color]

VO类:
一个包含属性和表中字段完全对应的类,并在该类中提供setter和getter方法来设置并获得该类中的属性。

DAO接口:
定义了所有用户的操作,如增删改,不过因为是接口,所以仅仅是定义,需要子类实现。

DAO实现类:UserDaoImpl
实现DAO接口,并实现接口中定义的所有方法。

DAO工厂类:
可以方便的对代码进行管理,通过工厂类的一个静态方法来获得DAO实现类实例。
public class DAOFactory{
public static UserDao getUserDAOInstance(){
return new UserDAOImpl();
}
}


[color=red]MVC[/color]模型部分,是业务的流程、状态的处理和业务规则的制定。它是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑功能的计算关系,独立于具体的界面表达和I/O操作。(Model)
视图部分,代表用户界面。它使表示模型数据及逻辑关系和状态的信息以特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。(JSP)
控制部分,接收用户请求,分配合适的模型和视图。(Servlet)

1.浏览器发送HTTP请求给Servlet
2.Servlet实例化后给JavaBean
3.JavaBean操作数据库
4.JavaBean调用JSP
5.JSP返回HTTP响应给浏览器

[color=blue]Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求[/color]

[color=red]POJO[/color](Plain Ordinary Java Object)是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。

Action的实现主要有三种
1、普通的实体类,只编写getter和setter方法并实现execute()方法
2、实现Struts2所提供的Action接口
3、继承ActionSupport类,实现了Action接口和Validatable等接口
Validatable接口中仅仅定义了一个validata()接口,重写该方法实现校验功能
如果要输出错误提示信息,则只需调用ActionSupport类中的addFieldErrors方法来添加相应的错误提示信息

[color=red]国际化加载资源文件[/color]strus.xml
<constant name="struts.custom.i18n.resourse" value="messageResourse"></constant>

显示Action中的属性值: <s:property value="userName" /><br />
显示字符串: <s:property value="'userName'" /><br />
Action中找不到指定的属性时,显示默认值: <s:property value="admin" default="默认值" /><br />
解析HTML字符串: <s:property value="'<font color=\"red\">Red</font>'" escape="false" /><br />

使用了Struts2的tag:<s:actionerror>、<s:fielderror>和<s:actionmessage>,分别用来显示动作错误信息,字段错误信息,和动作信息。如果信息为空,则不显示。
actionerror保存在ArrayList中
fielderror采用Map结构存储,用键值保存信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值