Spring+Struts2+JQuery配合实现简单的登录功能

前几天朋友打电话 ,说他要实现使用Spring+Struts2+JQuery的登录功能,因为现在公司里框架都是固定的,突然让你自己写一个,好久不写写不出来,百度了好久都是各种版本,各种残缺,各种不理想,只好自己去写,希望对其他人有所帮助。故有此博客。本人菜鸟写的不好请各位包涵!

 

前台页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>Login</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<script type="text/javascript" src="js/jquery.js"></script>
	
  </head>
  
  <body>
    	用户名: <input type="text" id="name"/>
    	密码:	<input type="password" id="password"/>
    			<input type="submit" value="登陆" οnclick="check();"/>
  </body>
 <script type="text/javascript">
function check(){
  		var name=$("#name");
		var password=$("#password");
  		$.ajax({
  			type:'post',
  			url:'http://localhost:8080/LoginDemo/test/login.action',
  			dataType:'json',
  			data:{name:name.val(),password:password.val()},
  			success:function(data,textStatus){
  				if(data.success){
  					alert('登陆成功');
  				}else
  				{
  					alert('登陆失败');
  				}
  			},
  			error:function(data,textStatus){
  				alert('访问后台失败');
  			}
  		});
	} 		
	</script>
</html>
后台action
package com.login.action;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
import com.login.service.LoginService;
public class LoginAction extends ActionSupport implements Action{
    private LoginService loginService;
	public LoginService getLoginService() {
        return loginService;
    }
    public void setLoginService(LoginService loginService) {
        this.loginService = loginService;
    }
    public String login()
    {  
    	
    	HttpServletRequest request=ServletActionContext.getRequest();    
		HttpServletResponse response=ServletActionContext.getResponse();
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = null;
		 try {
			request.setCharacterEncoding("utf-8");
			String name=request.getParameter("name");
			String password=request.getParameter("password");
			out = response.getWriter();
			if(loginService.login(name, password)){
				out.println("{\"success\":true}");						
			}else{
				out.println("{\"success\":false}");	
			}		
		} catch (Exception e) {
			e.printStackTrace();
		}
		finally{
			out.flush();
			out.close();
		}
		return null;
	}
} 

service类:

package com.login.service;
import com.login.dao.UserDao;
public class LoginService {
    private UserDao userDao;
    public UserDao getUserDao() {
		return userDao;
	}
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}
	public boolean login(String name, String password) throws Exception{
        boolean temp=false;
        if(userDao.checkUser(name, password)){
        	temp=true;
        }
        return temp;
    }  
}


dao层:

package com.login.dao;
import org.springframework.jdbc.core.JdbcTemplate;
public class UserDao {
    private JdbcTemplate jdbcTemplate;
    //注入
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }
	public boolean checkUser(String username, String password) {
        String sql="select count(*) from sys_user where username=? and password=? ";
        int count=jdbcTemplate.queryForInt(sql,new Object[]{username,password});
        return count>0;
    }
}



struts2配置文件:

<?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="test"  extends="struts-default">   
       <action name="login" class="loginAction" method="login"></action>
    </package>   
</struts>


Spring配置文件:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC   
    "-//SPRING//DTD BEAN//EN"  
    "http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans>
    <!-- 数据源配置 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <property name="url" value="jdbc:mysql://localhost:3306/mysql"></property>
        <property name="username" value="root"></property>
        <property name="password" value="root"></property>
    </bean>
    <!-- 定义Spring JDBC模板类bean -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!-- dao -->
    <bean id="userDao" class="com.login.dao.UserDao">
        <property name="jdbcTemplate" ref="jdbcTemplate" ></property>
    </bean>
    <!-- service -->
    <bean id="loginService" class="com.login.service.LoginService">
        <property name="userDao" ref="userDao"></property>
    </bean>
    <!-- action -->
    <bean id="loginAction" class="com.login.action.LoginAction">
        <property name="loginService" ref="loginService"></property>
    </bean>
</beans>

web.xml:

<?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">
	<!-- 指定Spring的配置文件 默认从web根目录寻找,这里指定从类路径下寻找这样就无关路径了 -->
	<context-param>
	   <param-name>contextConfigLocation</param-name>
	   <param-value>classpath:applicationContext.xml</param-value>
  	</context-param>
  	<!-- 对spring容器进行实例化 -->
  	<listener>
    	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  	</listener>
  	<!-- 配置Struts2 -->
  	 <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>/*</url-pattern>
    </filter-mapping>   
    <!-- 默认界面配置 -->
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值