struts+spring实现的登陆实例源码
刚接触struts不久,公司又要我学spring,然后把两者结合起来用。于是我在网上找了很多的有关struts+spring的例子,但基本上都是a的例子,然后根据它的原理重新编写一本书上用struts实现的例子。
一、运行环境
1、eclipse-SDK-3.2
2、MyEclipse GA5.0
3、apache-tomcat-5.5.20
4、Strust1.2
5、Spring1.2
二、该工程所需文件
1、index.jsp
2、login.jsp
3、reinput_blank.jsp
4、reinput_error.jsp
5、success.jsp
6、LoginActio.java
7、LoginForm.java
8、struts-config.xml
9、applicationContext.xml
三、步骤
1、建工程
创建一个名为Welcome_SS的Web Project
File - New - Project - Web Project , “next” Project Name:”Welcome_SS” ,“finish”;
2、导入struts包
选择Welcome_SS工程,右键-Myeclipse (或选菜单栏上Myeclipse) - Add struts Capabilities……,选择struts1.2,然后finish;
3、导入spring包
选择Welcome_SS工程,右键-Myeclipse (或选菜单栏上Myeclipse) - Add spring Capabilities……,在默认基础上,再选择Spring 1.2 AOP Libraries - MyEclipse-Library和Spring 1.2 Web Libraries - MyEclipse-Library,然后finish;
(为什么要选这两个,我也还没有弄清楚)
注:可能还要在lib文件夹下加几个spring包,
spring.jar,
spring-1.2.6.jar,
spring-aop.jar,
spring-beans.jar,
spring-context.jar,
spring-core.jar,
spring-orm.jar,
spring-remoting.jar,
spring-support.jar,
spring-web.jar,
spring-webmvc.jar
4、编写代码(页面及其所需的类)
index.jsp
选择Welcome_SS工程下的WebRoot - New - JSP,取名为index.jsp,Finish;
输入以下代码
1
2 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
3 html
4 head
5 !link rel="stylesheet" type="text/css" href="./styles.css"
6 /head
7 bodydiv
8 Welcome here!br.a href="login.jsp"sign in/a/div
9 /body
10 /html
11
login.jsp
选择Welcome_SS工程下的WebRoot - New - JSP,取名为login.jsp,Finish;
输入以下代码
1 %@ page contentType="text/html;charset=gb2312"%
2 %@ page import="java.util.*,java.sql.*,java.text.*,java.io.*"%
3
4 html
5 body
6 div form name="form1" method="post" action="login.do"
7 Welcome Here! brbr
8 username:input type="text" name="username"br
9 password:input type="text" name="password"br
10 input type="submit" name="submit1" value="submit"
11 input type="reset" name="submit2" value="reset" onclick="deleteAllMessage()"br
12 /form/div
13 /body
14 /html
reinput_blank.jsp
选择Welcome_SS工程下的WebRoot - New - JSP,取名为reinput_blank.jsp,Finish;
输入以下代码
1 %@ page language="java" import="java.util.*" pageEncoding="utf-8"%
2
3 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
4 html
5 body
6 div form name="form1" method="post" action="login.do"font color="#ff0000"*用户名和密码都不能为空!/fontbrbr
7 username:input type="text" name="username" br
8 password:input type="text" name="password" br
9 input type="submit" name="submit1" value="submit"
10 input type="reset" name="submit2" value="reset" onclick="deleteAllMessage()"
11 /form/div
12 /body
13 /html
14
reinput_error.jsp
选择Welcome_SS工程下的WebRoot - New - JSP,取名为reinput_error.jsp,Finish;
输入以下代码
1 %@ page language="java" import="java.util.*" pageEncoding="utf-8"%
2
3 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
4 html
5 body
6 div form name="form1" method="post" action="login.do"font color="#ff0000"*用户名或密码不正确!/fontbrbr
7 username:input type="text" name="username" br
8 password:input type="text" name="password" br
9 input type="submit" name="submit1" value="submit"
10 input type="reset" name="submit2" value="reset" onclick="deleteAllMessage()"
11 /form/div
12 /body
13 /html
14
success.jsp
选择Welcome_SS工程下的WebRoot - New - JSP,取名为success.jsp,Finish;
输入以下代码
1 %@ page language="java" pageEncoding="utf-8"%
2
3 !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
4 html
5 head
6 !link rel="stylesheet" type="text/css" href="./styles.css"
7 /head
8 body
9 %=request.getAttribute("message")%!br
10 .a href="login.jsp"sign in/abr
11 .a href="index.jsp"sign out/a
12 /body
13 /html
14
15
LoginAction.jsp
选择Welcome_SS工程下的src - com - yourcompany - struts下,New-files :action,再在这个文件夹下New-Java,取名为LoginAction.java,Finish;
输入以下代码
1
2 package com.yourcompany.struts.action;
3
4 import java.util.Locale;
5
6 import javax.servlet.http.HttpServletRequest;
7 import javax.servlet.http.HttpServletResponse;
8 import javax.servlet.http.HttpSession;
9
10 import org.apache.struts.action.Action;
11 import org.apache.struts.action.ActionForm;
12 import org.apache.struts.action.ActionForward;
13 import org.apache.struts.action.ActionMapping;
14 import org.apache.struts.util.MessageResources;
15
16 import com.yourcompany.struts.form.LoginForm;
17
18 public class LoginAction extends Action {
19
20 private String message;
21
22 public String getMessage() {
23 return message;
24 }
25
26 public void setMessage(String message) {
27 this.message = message;
28 }
29
30 public ActionForward execute(ActionMapping mapping,
31 ActionForm form,
32 HttpServletRequest request,
33 HttpServletResponse response)
34 LoginForm userform = (LoginForm) form;
35 if(userform.getUsername().equals("")(userform.getPassword().equals(""))){
36 return mapping.findForward("reinput_blank");
37 }
38 else if(userform.getUsername().equals("success")&&(userform.getPassword().equals("success"))){
39 request.setAttribute("message",getMessage()+userform.getUsername());
40 return mapping.findForward("success");
41 }
42 else{
43 return mapping.findForward("reinput_error");
44 }
45 }
46 }
47
LoginForm.jsp
选择Welcome_SS工程下的src - com - yourcompany - struts下,New-files :form,再在这个文件夹下New-Java,取名为LoginAction.java,Finish;
输入以下代码
1
2 package com.yourcompany.struts.form;
3
4 import javax.servlet.http.HttpServletRequest;
5 import org.apache.struts.action.ActionErrors;
6 import org.apache.struts.action.ActionForm;
7 import org.apache.struts.action.ActionMapping;
8
9 public class LoginForm extends ActionForm {
10
11
12 private String username;
13 private String password;
14 public String getPassword() {
15 return password;
16 }
17 public void setPassword(String password) {
18 this.password = password;
19 }
20 public String getUsername() {
21 return username;
22 }
23 public void setUsername(String username) {
24 this.username = username;
25 }
26 }
5、根据前一步的代码,进行配置文件的编写(struts-config.xml和applicationContext.xml)
选择Welcome_SS工程下的WebRoot - WEB-INF - struts-config.xml
输入下面代码:
1 ?xml version="1.0" encoding="UTF-8"?
2 !DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"
3
4 struts-config
5 data-sources /
6 form-beans
7 form-bean name="loginForm" type="com.yourcompany.struts.form.LoginForm" /
8 /form-beans
9
10 global-exceptions /
11 global-forwards /
12 action-mappings
13 action
14 attribute="loginForm"
15 input="/login.jsp"
16 name="loginForm"
17 path="/login"
18 scope="request"
19 type="org.springframework.web.struts.DelegatingActionProxy"
20 forward name="success" path="/success.jsp" /
21 forward name="reinput_blank" path="/reinput_blank.jsp"/
22 forward name="reinput_error" path="/reinput_error.jsp"/
23 /action
24
25 /action-mappings
26
27 message-resources parameter="com.yourcompany.struts.ApplicationResources" /
28
29 plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"
30 set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" /
31 /plug-in
32
33 /struts-config
34
35
选择Welcome_SS工程下的src - applicationContext.xml
输入下面代码:
1 ?xml version="1.0" encoding="UTF-8"?
2 !DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
3 beans
4 bean name="/login"
5 property name="message"
6 valueWelcome_/value
7 /property
8 /bean
9 /beans
10
6、Web Service(这里即Tomcat)布署及启动
(全面的可以参照我的另一篇随笔:Myeclipse中Tomcat的两种布署方式)
a.在apache-tomcat-5.5.20"conf下,找到server.xml,打开,在/Host前面添加一句
Context path="/wess" debug="0" docBase="C:“Documents and Settings“tt“workspace“Welcome_SS“WebRoot" reloadable="true"/Context
注:C:“Documents and Settings“tt“workspace“Welcome_SS是该工程的存储路径。
b.在Myeclipse中的工具栏上找到一个像机箱似形状的按钮,,则打开服务器Tomcat.
7、运行
在IE 浏览器里输入http://localhost:8080/wess,即可运行!成功登陆的条件是用户名和密码都为success的时候。
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|