使用Eclipse创建struts项目

news/2024/7/1 22:32:20

在进行创建项目的时候,我们要知道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
peizi
这里写图片描述
五,在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进行创建更自动化,更简单,但是最重要的是要去理解其中的原理啊

总结,在学习的过程中,一些基础的东西东西越是不能的忘记,小小的基础也是我们学习的最重要的东西啊


http://www.niftyadmin.cn/n/3091685.html

相关文章

bootstrap-导航(标签形tab导航)

1.运行效果如图所示 2.实现代码如下 <!DOCTYPE html> <html> <head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><title>导航&#xff08;标签形tab导航&#xff09;</tit…

关于JQuery的serialize方法.让我崩溃一天的问题解决了

这几天做一个Ajax像服务器动态提交的表单然后给出即时反馈.这些表单内容都是一系列的.内容大同小异.所以代码和页面结构也是大同小异.但是其中有一个页面使用AJAX始终无法提取到服务器值.反而将此页的整个render出来的页面显示出来.关键代码如下:Code后台代码简略如下.只是为了…

python二分法代码_Python实现二分法检索(binary search)

二分法检索&#xff08;binary search&#xff09;又称折半检索&#xff0c;二分法检索的基本思想是设字典中的元素从小到大有序地存放在数组&#xff08;array&#xff09;中。 首先将给定值key与字典中间位置上元素的关键码(key)比较&#xff0c;如果相等&#xff0c;则检索成…

JAVA NIO buffer (知识三)

java nio 里的buffer是缓存数据&#xff0c;通常缓冲区是一个数组&#xff0c;字节数组&#xff0c;也可以是别的类型。最常用的就是bytebuffer&#xff0c; 还有一些其它的类型&#xff1a; charbuffer&#xff0c; shortbuffer, intbuffer, longbuffer, floatbuffer, doubleb…

python语言可以处理数据文件吗_对于Python语言进行处理文件解读

如何在Python语言中复制和删除文件&#xff0c;以及怎样将一个完整的文件路径分解成目录部分和文件名部分&#xff0c;***&#xff0c;我们讲解目录的创建&#xff0c;以及如何在目录树中移动目录并处理文件。 对于文件和目录的处理&#xff0c;虽然可以通过操作系统命令来完成…

java内存区域与对象的访问

我们都知道&#xff0c;在学习java的时候&#xff0c;有一个东西是特别重要的&#xff0c;那就是java内存的划分&#xff0c;以及对象的访问是如何进行的&#xff0c;下面是我自己在一些书籍上整理的&#xff0c;学完了之后感觉特别有用&#xff01;&#xff01;&#xff01; …

mysql5.6.20配置文件my.cnf参数详解

服务器为硬件dell-R710,硬盘为双SSD硬盘130G&#xff0c;服务器有两颗CPU&#xff0c;单颗cpu为12核&#xff0c;服务器在安装系统时CPU开启了超线程。逻辑cpu为48核。 此服务器为单纯的mysql服务器&#xff0c;此配置文件的参数主要是供笔者平时优化my.cnf作为参考。广大读者切…

java多线程中的等待唤醒机制--多生产者多消费者问题

在java多线程中&#xff0c;等待唤醒机制是最经典的也是最能够体现java多线程中的线程安全的问题&#xff0c;在写等待唤醒机制的时候&#xff0c;我们要先去了解什么是等待唤醒机制 等待唤醒机制就是指在多个线程进行并发的去操作同一个资源的问题&#xff0c; 以生产馒头和…