67,529
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css" />
<script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext/ext-all.js"></script>
<script type="text/javascript" src="ext/ext-lang-zh_CN.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
Ext.QuickTips.init();//使用表单提示
Ext.form.Field.prototype.msgTarget = "side";//错误显示在边上
//定义一个输入表单
var simple = new Ext.FormPanel({
labelWidth:40,
baseCls:"x-plain",
defaultType:"textfield",
defaults:{width:180},
items:[{
fieldLabel:"帐号",
name:"userid",
allowBlank:false,
blankText:"帐号不能为空"
},{
inputType:"password",
fieldLabel:"密码",
name:"password",
allowBlank:false,
blankText:"密码不能为空"
}],
buttons:[{
text:"提交",
type:"submit",
handler:function(){
if(simple.form.isValid()){
Ext.MessageBox.show({
title:"请稍等",
msg:"正在加载.....",
progressText:"加载过程文字说明",
width:300,
progress:true,
closable:false,
animEl:"loding"
});
var f = function(v) {
return function(){
var i = v / 11;
Ext.MessageBox.updateProgress(i, '');
}
}
for(var i = 1; i < 13; i++) {
setTimeout(f(i), i * 150);
}
//提交到服务器操作
simple.form.doAction("submit",{
url:"userLogin.action?userid=admin&password=admin",//用户名本来是为输入表单的值,但为了测试方面,这里用传参数代替,此时,显然是为登录成功的
method:"post",
success:function(form, action){
Ext.Msg.alert("登录成功!",action.result.message);//使用注入后,这个提示框就再也不出来了,怪死了
},
failure:function(form, action){
Ext.Msg.alert('登陆失败', action.result.message);
}
});
}
}
},{
text:"重置",
handler:function(){
simple.form.reset();
}
}]
});
//定义窗体
var _window = new Ext.Window({
//title:"登录窗口",
title:"测试窗口",
resizable: false,
modal : true,
layout:"fit",
width:280,
height:150,
plain:true,
bodyStyle:"padding:10px;",
maximizable:false,
closeAction:"close",
closable:false,
collapsible:true,
plain:true,
buttonAlign:"center",
items:simple
});
_window.show();
});
</script>
<body>
</body>
</html>
public class LoginAction extends ActionSupport
{
private boolean success;
private String message;
private UserBOInterface userBO = null;//问题出在这句的了,如果我把这句注释掉,就正常的了,加了这句,和get,set方法后,就出问题的了
public UserBOInterface getUserBO()
{
return userBO;
}
public void setUserBO(UserBOInterface userBO)
{
this.userBO = userBO;
}
public boolean isSuccess()
{
return success;
}
public void setSuccess(boolean success)
{
this.success = success;
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
public String login() throws Exception
{
String userid = request.getParameter("userid");
String password = request.getParameter("password");
if (userid.equals("admin") && password.equals("admin"))
{
this.success = true;
this.message = "登录成功,您的ID:" + userid + " 密码:" + password;
}
else
{
this.success = false;
this.message = "未法操作,未授权用户不允许登录!";
}
return SUCCESS;
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="user" extends="json-default" namespace="">
<action name="userLogin" class="loginAction" method="login">
<result type="json"></result>
</action>
</package>
</struts>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- 连接数据库 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
<property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=DBtest"></property>
<property name="username" value="sa"></property>
<property name="password" value="123"></property>
</bean>
<!-- 声明性事务管理 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<bean id="userDAO" class="com.zuying.dao.UserDAO">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
</bean>
<bean id="userBO" class="com.zuying.bo.UserBO">
<property name="userDAO">
<ref local="userDAO"/>
</property>
</bean>
<bean id="loginAction" class="com.zuying.action.LoginAction" scope="prototype"><!--
<property name="userBO">
<ref bean="userBO"/>
</property> 如果我把这个注释掉,即不使用注入,当然,LoginAction中也要相应的注释掉,那就没问题,前面会返回提示框,我开启后,就不行了,没效果-->
</bean>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>