在进行创建项目的时候,我们要知道struts是一个web的框架,他的主要的核心的类是总控制器,分控制器,以及表单这几个组成,总控制器和分控制器就是相当于MVC框架中的控制器(C),其实它就是一个servlet
总控制器是ActionServlet类,在使用的时候主要是在web项目中进行配置
分控制器是Action类,在写分控制器的时候是要去继承这个类,
表单类是ActionForm表示的是对于页面表单数据的存储,在编写表单的时候需要去继承表单类(ActionForm)
一,创建web项
在eclipse中创建web项目的方法比较简单,
file–>new–>other–>Dynamic web project然后自己输出创建项目的名称
二,在eclisep中去创建web项目的时候,我们要首先使用的是java EE包,因此需要我们自己去导入这些包,其次我们要使用struts包,
上面的是到入java EE5包,可以自己去搜索下载javaEE的不同的jar包
三,将struts中的jar导入到WEB-INF目录下的lib中,我是用的是struts-1.3.10这个版本,还没有使用struts-2.x版本,
struts-1.3.10的下载路径:http://download.csdn.net/download/lxx1103501/3892512
四,配置web.xml
五,在WEB-INF目录下创建struts-config.xmlwen文件,并配置
六,创建登陆的jsp页面
<%@ page language="java" contentType="text/html; charset=utf-8"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<form action="/StrutsProject/login.do" method="post">
用户名:<input type="text" name="username" /><br/>
密码:<input type="password" name="userpwd" /><br />
<input type="submit" value="登陆" />
</form>
</body>
</html>
创建action
七,创建LoginAction类
package com.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.struts.forms.UserForm;
import com.struts.service.LoginService;
//这是一个登陆的action,表示的是登陆的控制器,需要去继承struts jar包中的Action
public class LoginAction extends Action {
// 我们需要去重写Action中的一个方法,execute这个方法是会自动的调用的(有点类似于servlet中的service doGet doPost方法)
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
//将form进行强转为UserForm对象
UserForm userForm=(UserForm)form;
// System.out.println(userForm.getUsername()+":"+userForm.getUserpwd());
String name=userForm.getUsername();
String pwd=userForm.getUserpwd();
LoginService ls=new LoginService();
//进行简单的验证
if(ls.check(name,pwd)){
//认为是合法的用户
//使用的是request的域进行保存,这是第一种进行传递的方法
//request.setAttribute("username", userForm.getUsername());
//进行传递的第二种方法,在struts-config.xml进行配置(action中进行配置scope=“request”或者是session)
return mapping.findForward("welcome");//这个是请求转发的方式
}
else{
return mapping.findForward("err");
}
}
}
八,创建表单
package com.struts.forms;
import org.apache.struts.action.ActionForm;
//这是一个用户的表单,用于填充数据,需要去继承ActionForm这个超类
public class UserForm extends ActionForm {
// 定义属性(这里是有一个规范,定义属性名字的时候要与jsp页面中的控件是一样的)
private String username;
private String userpwd;
//这两个对应的是jsp中的用户名和密码中的name的属性的名
public String getUsername() {
return username;
}
public void setUsername(String username) {
System.out.println("2,这个时候,是总控制器进行将表单的数据进行填写到表单中");
this.username = username;
}
public String getUserpwd() {
return userpwd;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}
//只要保证的是setXxx 和getXxx是存在关联的:get属性名 或者是set属性名
}
基本的创建完成,但是如果需要进行数据库验证的时候,我们就要使用jdbc进行数据库的建立连接等一系列的操作,导入数据库的jar包同时我们还要创建domain对象,以及sservice对象,还用工具类
这里没有具体的写
还有,可以在Myeclipse中进行创建struts项目,使用myeclipse进行创建更自动化,更简单,但是最重要的是要去理解其中的原理啊
总结,在学习的过程中,一些基础的东西东西越是不能的忘记,小小的基础也是我们学习的最重要的东西啊