自己写框架1

大致内容

  • C标签可以干很多事

设计好目录

登录窗口

  • class=”prelodaer” 转动。。
  • index.jsp自动跳转其他页面
  • login.jsp 登录窗口 form表单提交。
  • form表单的数据并没有封装进对象。
  • 数据都给啦一个name值
  • 设计servlet:loginServlet
  • 在loginServlet实现数据的封装
    -
1
<jsp:forward>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
void doPost(){
request.sertContentType("text/html;charset=utf-8");
String username=request.getParameter("username");
String password=request.getParameter("password");
LoginForm f1=new LoginForm();
f1.setUsername(username);
f1.setPassword(password);
Action action=new LoginAction();
action.execute();
//在在LoginAction的execute()执行业务操作。
//z只是换个地方进行业务逻辑处理。
}

execute(){
LoginForm lf=(LoginForm)form;
String name=lf.getUsername();
String password=lf.getPassword();
IUser ud=new User();
Usesr u=ud,getUserById(name,pw);
//执行dao取到数据库的数据
//比较表单数据和数据库数据是否相同
//在登录成功或返回错误信息
if(use!=null){
HttpSession session=request.getSession();
session.setAttribute("currenUser",u);
request.getRequstDispatcher(".....main.jsp").forward(request,response);

}else{
//封装错误信息
//跳转回去login.jsp
request.setAttribute("error1",error1);
//实现页面跳转,很原始6666666666666
request.getRequstDispatcher(...login.jsp)forward(request,respone);

}


}

在loginServlet实现数据的封装

  • 新建loginForm实体类(不带参的构造方法)
  • 新建ActionForm实体类
  • 新建loginForm父类 Action

登录成功 到主菜单main.jsp

过滤器拦截非login.do ?实现字符集的过滤。

  • 统一编码utf-8
  • 不登录根本进不去main.jsp
  • 新建ActionFilter继承Filter
  • 修改web.xml
    -

`java
ActionFilter{
private String encoding;
private List list
}
isExit(Listlist String value){
boolean fla
}
doFilter(){
arg0.setCharacterEncoding(encoding);
arg1.setCharacterEncoding(encoding);
HttpServletRequest request=(HttpServletRequest)arg0;
HttpServletResponse respose=(HttpServletResponse)arg1;
String path=request.getRequstUrl().toString();
//获取地址url / 后面的内容
String actionpath=path.subString(path.lastIndexOf(“/“)+1);
if(list.contains(actionpath)){
arg2.doFilter(arg0,arg1)
}else{
User u=(User)session.getAttribute(“currenUser”);
if(u==null){
request.getRequstDispatcher(“…..login.jsp”).forward(request,arg1);
}
}

}
init(){
encoding=arg0.getInitParameter(“encoding”);
//设置可以直接跳转的路径
String path=arg0.getInitParameter(“actionpath”);
}