Struts1的一个简单示例:用户登陆

本文介绍了一个基于Struts框架的简单登录示例,包括配置文件、JSP页面、ActionForm类和Action类的编写过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发步骤:
1.导入jar包,配置相关文件.
可以先配置web.xml文件,如下:

1<?xmlversion="1.0"encoding="UTF-8"?>
2<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"id="WebApp_ID"version="2.5">
3<servlet>
4<servlet-name>actionServlet</servlet-name>
5<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
6<init-param>
7<param-name>config</param-name>
8<param-value>/WEB-INF/struts-config.xml</param-value>
9</init-param>
10<load-on-startup>0</load-on-startup>
11</servlet>
12<servlet-mapping>
13<servlet-name>actionServlet</servlet-name>
14<url-pattern>*.do</url-pattern>
15</servlet-mapping>
16</web-app>

在WEB-INF下建立一个struts-config.xml文件,文件内容暂且如下:

1<?xmlversion="1.0"encoding="gbk"?>
2
3<!DOCTYPEstruts-configPUBLIC
4"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.3//EN"
5"http://struts.apache.org/dtds/struts-config_1_3.dtd">
6<struts-config>
7</struts-config>


2.书写jsp页面:login.jsp,success.jsp,error.jsp
login.jsp:

1<%@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"
2pageEncoding="ISO-8859-1"%>
3<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
4<html>
5<head>
6<metahttp-equiv="Content-Type"content="text/html;charset=ISO-8859-1">
7<title>Inserttitlehere</title>
8</head>
9<body>
10<formaction="login.do"method="post">
11username:<inputtype="text"name="username"/><br/>
12password:<inputtype="password"name="password"/><br/>
13<inputtype="submit"value="submit"/>
14</form>
15</body>
16</html>

success.jsp:

1<body>
2<h1>loginsuccess!</h1>
3<h2>username:${requestScope.username}</h2>
4<h2>password:${requestScope.password}</h2>
5</body>

error.jsp:

1<body>
2<h1><fontcolor="red">loginfailed!</font></h1>
3</body>


3.编写一个ActionForm的类,用来暂存请求传给服务端的数据。

1packageper.struts1.web;
2importorg.apache.struts.action.ActionForm;
3publicclassLoginActionFormextendsActionForm{
4privateStringusername;
5privateStringpassword;
6publicStringgetUsername(){
7returnusername;
8}

9publicvoidsetUsername(Stringusername){
10System.out.println(username);
11this.username=username;
12}

13publicStringgetPassword(){
14returnpassword;
15}

16publicvoidsetPassword(Stringpassword){
17System.out.println(password);
18this.password=password;
19}

20}

21


4.编写一个Action类,并覆盖其execute()方法

1packageper.struts1.web;
2importjavax.servlet.http.HttpServletRequest;
3importjavax.servlet.http.HttpServletResponse;
4importorg.apache.struts.action.Action;
5importorg.apache.struts.action.ActionForm;
6importorg.apache.struts.action.ActionForward;
7importorg.apache.struts.action.ActionMapping;
8publicclassLoginActionextendsAction{
9@Override
10publicActionForwardexecute(ActionMappingmapping,ActionFormform,
11HttpServletRequestrequest,HttpServletResponseresponse)
12throwsException{
13LoginActionFormlaf=(LoginActionForm)form;
14Stringusername=laf.getUsername();
15Stringpassword=laf.getPassword();
16System.out.println(username+":"+password);
17if("jone".equals(username)&&"jone".equals(password)){
18request.setAttribute("username",username);
19request.setAttribute("password",password);
20returnmapping.findForward("success");
21}
else{
22returnmapping.findForward("error");
23}

24}

25}

26


5.对ActionForm类及Action类在struts-config.xml文件中进行配置

1<?xmlversion="1.0"encoding="gbk"?>
2<!DOCTYPEstruts-configPUBLIC
3"-//ApacheSoftwareFoundation//DTDStrutsConfiguration1.3//EN"
4"http://struts.apache.org/dtds/struts-config_1_3.dtd">
5<struts-config>
6<form-beans>
7<form-beanname="loginForm"type="per.struts1.web.LoginActionForm">
8<!--为暂存数据的ActionForm类进行配置,name是随意取得,type为类的全限定名-->
9</form-bean>
10</form-beans>
11
12<action-mappings>
13<actionpath="/login"type="per.struts1.web.LoginAction"name="loginForm"scope="request">
14<!--为Action类进行配置,-条action标签对应一个ActionMapping类,path为访问路径,不含.do,
15type为类的全限定名,name指的是上面已经配置的ActionForm的name值,
16scope为所创建的ActionForm指明一个作用域。
17-->
18<forwardname="success"path="/success.jsp"></forward>
19<!--forward标签是用于页面跳转的,path即为跳转路径,而name起一个标识作用-->
20<forwardname="error"path="/error.jsp"></forward>
21</action>
22</action-mappings>
23</struts-config>
24

至此可以进行运行测试了。只有当username与password都为"jone"的时候,才会跳到success.jsp页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值