上午去面试了,笔记都是同桌给的,没怎么看懂,有时间看看视频吧。好好学习吧,技术好才是硬道理。
Struts2的配置文件的详解:
1)Struts的默认的后缀是action如果要换成我们指定的后缀结尾,需要使用constant这个节点来实现,<constant name=“Struts.action.extension” value=”do”/>
2)当Struts.xml配置文件数量配置的信息过多时,可以使用include 标签进行分工处理,需要注意的是其他模块的配置文件需要通过include标签引入到Struts总的配置文件中,并且其他模块的配置文件必须与Struts.xml的配置文件格式相同
3)package包有三个属性 name,extends,namespace,具体的形式:<package name=“default” namespace=“/” extend=“Struts-default”></package>
它的作用:提供了将action、result、result类型、拦截器、拦截器栈组织为一个逻辑单元的一种方式,从而简化了开发人员的维护工作,提高了重用性。
4)action,Struts2的核心功能,对于开发人员来说,使用Struts2框架,主要的编码工作就是编写action类
5)action的映射:action映射就是将一个请求URL映射到一个action类,当一个请求匹配某个action的名字是,框架就使用这个映射来确定如何处理请求
6)访问非execute方法的方式
·action节点里面的method属性来完成
·通过动态方法调用的方式来访问
·此方法不建议开发人员使用
·使用通配符(*)
7)result配置:分为映射和结果类型;
结果类型:默认的是dispatcher,如果要切换结果类型则通过result节点里面的type属性来做更改,其值有redirect(重定向)等;
在企业里面做项目
1、按照整个项目的生命周期来开展的:
1)项目的生命周期
制定计划、需求分析、设计、编码、运行、维护
2)需求分析
分析功能是否合理、功能所需的数据是否清晰
3)设计
概要设计(省略)、详细设计(需要对功能的实现画流程以及用文档进行说明)、数据库设计、框架设计
4)编码:框架、服务器、前端、测试
5)运行:项目投入使用
6)维护:修改bug或二次开发
2、项目里程碑:该项目在哪个时间段完成多少
总结:
使用Struts2框架的步骤:
1、新建web工程
2、添加Struts2的支持
3、编写Action类
4、修改Struts.xml配置文件
5、运行并测试
下午赶回去上课,老师没讲新知识了,只是讲了下我们要做的最后的项目内容及要求,要一个简单的购物网站,感觉好困难啊。慢慢弄吧。
下午叫我们实现了简单的登录验证,其实就是昨天的流程,只是把前端的数据,和数据库中的对比下,看是否有匹配的。傻傻的,不过就当熟悉流程了。
Java开发的单一职责原则,还有啥借口隔离,感觉,可能我现在写的太简单了,反而很累赘。但是为了以后,还是慢慢写吧。
比起昨天的代码,在service层的逻辑处理,稍微有那么点点的内容了,也只是遍历查询出来的集合,看输入的用户名密码是否是数据库中有的用户名密码而已。
但是因为接口隔离,所以要先定义接口,写出方法体,由实现接口的类去具体的操作。
接口:
package com.swpu.logindemo.service;
public interface ValidateService
{
public boolean loginValidate(String username,String password);
}
实现接口:
package com.swpu.logindemo.service.impl;
import java.util.ArrayList;
import java.util.List;
import com.swpu.logindemo.dao.DBUtils;
import com.swpu.logindemo.dao.entity.User;
import com.swpu.logindemo.service.ValidateService;
public class ValidateServiceImpl implements ValidateService
{
DBUtils utils=new DBUtils();
List<User> list=new ArrayList<User>();
public boolean loginValidate(String username,String password)
{
boolean isLogin=false;
String sql="select * from user";
list=utils.executeQuery(sql);
for(User u:list)
{
if(username.equals(u.getUsername()) && password.equals(u.getPassword()))
{
isLogin=true;
break;
}
else
isLogin=false;
}
return isLogin;
}
}
哈哈,再记点笔试题:
1:ArrayList和vector,HashMap和HashTable的区别,是否线程安全?
2:同步和异步的区别?
3:包,类,接口,各举五个及其常用的用法?
4:jsp九大内置对象及方法的用法?
5:呜呜,我啥记忆力啊,又忘完了。。。。