Java_Web 回顾 MVC模型





Ctrl 按住不松手,鼠标指向类方法,可以弹出声明或实现该方法的地方。

Ctrl+O 弹出指向类的所有声明方法。

Ctrl+shift+c 注释(Struts2.xml)


MVC:

1、封装数据

2、调用业务方法

3、跳转


框架:按部就班的工作。


MVC src目录:

com.zuxia.yc42.dao --dao类 implement(实现) imp(接口)类

com.zuxia.yc42.dao.imp --接口类取名时用I开头

com.zuxia.yc42.po

com.zuxia.yc42.service

com.zuxia.yc42.service.imp --

com.zuxia.yc42.servlet


SQL语句:

create table user_temp
(
       usId integer primary key,
       usName varchar2(20) unique,
       usPass varchar2(32)
)
insert into user_temp values(1,'admin','123');
insert into user_temp values(2,'root','123');
commit;

select * from user_temp;


以下是具体演示代码:

jsp/login.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="GBK" contentType="text/html; charset=GBK"%>
<%
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>My JSP 'login.jsp' starting page</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">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <form action="login" method="post">
    	<table border="1" align="center">
    		<tr>
    			<th>用户</th>
    			<td><input type="text" name="usName"/></td>
    		</tr>
    		<tr>
    			<th>密码</th>
    			<td><input type="password" name="usPass"/></td>
    		</tr>
    		<tr>
    			<td><input type="submit" value=" 登 陆  "/></td>
    		</tr>
    	</table>
    </form>
  </body>
</html>

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
	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_3_0.xsd">
  <display-name></display-name>	
  
  <servlet>
  	<servlet-name>Login</servlet-name>
  	<servlet-class>com.zuxia.yc42.servlet.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>Login</servlet-name>
  	<url-pattern>/login</url-pattern>
  </servlet-mapping>
  
  <welcome-file-list>
    <welcome-file>/jsp/login.jsp</welcome-file>
  </welcome-file-list>
</web-app>

public class LoginServlet extends HttpServlet:

package com.zuxia.yc42.servlet;

import java.io.IOException;

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

import com.zuxia.yc42.po.UserTemp;
import com.zuxia.yc42.service.LoginService;
import com.zuxia.yc42.service.imp.ILoginService;

public class LoginServlet extends HttpServlet
{

	public void doPost(HttpServletRequest request,HttpServletResponse reponse)
	{
		String url = "/jsp/login.jsp";
		String usName = request.getParameter("usName");
		String usPass = request.getParameter("usPass");
		
		//封装数据至UserTemp对象
		UserTemp usTemp = new UserTemp();
		
		usTemp.setUsName(usName);
		usTemp.setUsPass(usPass);
		
		//调用业务方法
		ILoginService loginService = new LoginService();
		
		if(loginService.isUser(usTemp))
		{
			url = "index.jsp";
		}
		
		//跳转
		try {
			request.getRequestDispatcher(url).forward(request, reponse);
		} catch (ServletException e) {
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public void doGet(HttpServletRequest request,HttpServletResponse reponse)
	{
		
	}
}



public class UserTemp implements Serializable:

package com.zuxia.yc42.po;

import java.io.Serializable;

public class UserTemp implements Serializable 
{
	private Integer usId;
	private String usName;
	private String usPass;
	public Integer getUsId() {
		return usId;
	}
	public void setUsId(Integer usId) {
		this.usId = usId;
	}
	public String getUsName() {
		return usName;
	}
	public void setUsName(String usName) {
		this.usName = usName;
	}
	public String getUsPass() {
		return usPass;
	}
	public void setUsPass(String usPass) {
		this.usPass = usPass;
	}
	
	
}



public class LoginService implements ILoginService:

package com.zuxia.yc42.service;

import java.util.List;

import com.zuxia.yc42.dao.LoginDAO;
import com.zuxia.yc42.dao.imp.ILoginDAO;
import com.zuxia.yc42.po.UserTemp;
import com.zuxia.yc42.service.imp.ILoginService;


public class LoginService implements ILoginService
{
	/**
	 * 判断用户是否合法
	 * @param userTemp
	 * @return
	 */
	public boolean isUser(UserTemp userTemp)
	{
		
		boolean flag = true;
		
		ILoginDAO loginDAO = new LoginDAO();
		
		UserTemp usTemp = loginDAO.getUser(userTemp.getUsName());
		
		if(usTemp == null)
		{
			flag = false;
		}
		else
		{
			if(!userTemp.getUsPass().equals(usTemp.getUsPass()))
			{
				flag = false;
			}
		}
		
		return flag;
	}

	public UserTemp getUser(String usName) {
		// TODO Auto-generated method stub
		return null;
	}

	public UserTemp getUser(Integer usId) {
		// TODO Auto-generated method stub
		return null;
	}

	public List<UserTemp> getUserAll() {
		// TODO Auto-generated method stub
		return null;
	}

	public boolean deleteUser(String usName) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean deleteUser(Integer usId) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean modifyUser(UserTemp userTemp) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean saveUser(UserTemp userTemp) {
		// TODO Auto-generated method stub
		return false;
	}

}



public interface ILoginService:

package com.zuxia.yc42.service.imp;

import java.util.List;

import com.zuxia.yc42.po.UserTemp;

public interface ILoginService
{
	/**
	 * 判断用户是否合法
	 * @param userTemp
	 * @return
	 */
	public boolean isUser(UserTemp userTemp);
	
	/**
	 * 获取UserTemp对象
	 * @param usName 登陆账户
	 * @return
	 */
	public UserTemp getUser(String usName);
	
	/**
	 * 获取用户信息
	 * @param usId 主键	ID
	 * @return
	 */
	public UserTemp getUser(Integer usId);
	
	/**
	 * 获取所有用户信息
	 * @return
	 */
	public List<UserTemp> getUserAll();
	
	/**
	 * 根据账户删除用户信息
	 * @param usName
	 * @return
	 */
	public boolean deleteUser(String usName);
	
	/**
	 * 根据主键删除用户信息
	 * @param usId
	 * @return
	 */
	public boolean deleteUser(Integer usId);
	
	/**
	 * 修改用户信息
	 * @param userTemp
	 * @return
	 */
	public boolean modifyUser(UserTemp userTemp);
	
	/**
	 * 保存用户信息
	 * @param userTemp
	 * @return
	 */
	public boolean saveUser(UserTemp userTemp);
}



public class LoginDAO implements ILoginDAO:

package com.zuxia.yc42.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;

import com.zuxia.yc42.dao.imp.ILoginDAO;
import com.zuxia.yc42.po.UserTemp;

public class LoginDAO implements ILoginDAO
{

	/**
	 * 获取UserTemp对象
	 * @param usName 登陆账户
	 * @return
	 */
	public UserTemp getUser(String usName)
	{
		String sql ="select * from user_temp where usName = '"+usName+"'";
		
		String className = "oracle.jdbc.driver.OracleDriver";
		String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
		String user="yc42";
		String password="yc42";
		
		Connection conn = null;
		Statement stm = null;
		ResultSet rs = null;
		UserTemp userTemp = null;
		
		try {
			Class.forName(className);
			conn = DriverManager.getConnection(url, user, password);
			stm = conn.createStatement();
			
			rs = stm.executeQuery(sql);
			if(rs.next())
			{
				userTemp = new UserTemp();
				userTemp.setUsId(rs.getInt("usId"));
				userTemp.setUsName(rs.getString("usName"));
				userTemp.setUsPass(rs.getString("usPass"));
			}
			
			
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch blocstk
			e.printStackTrace();
		}
		finally
		{
			if(stm!=null)
			{
				try {
					stm.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			if(conn!=null)
			{
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		
		
		return userTemp;
	}

	public UserTemp getUser(Integer usId) {
		// TODO Auto-generated method stub
		return null;
	}

	public List<UserTemp> getUserAll() {
		// TODO Auto-generated method stub
		return null;
	}

	public boolean deleteUser(String usName) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean deleteUser(Integer usId) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean modifyUser(UserTemp userTemp) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean saveUser(UserTemp userTemp) {
		// TODO Auto-generated method stub
		return false;
	}


}



public interface ILoginDAO :

package com.zuxia.yc42.dao.imp;

import java.util.List;

import com.zuxia.yc42.po.UserTemp;

public interface ILoginDAO 
{
	/**
	 * 获取UserTemp对象
	 * @param usName 登陆账户
	 * @return
	 */
	public UserTemp getUser(String usName);
	
	/**
	 * 获取用户信息
	 * @param usId 主键	ID
	 * @return
	 */
	public UserTemp getUser(Integer usId);
	
	/**
	 * 获取所有用户信息
	 * @return
	 */
	public List<UserTemp> getUserAll();
	
	/**
	 * 根据账户删除用户信息
	 * @param usName
	 * @return
	 */
	public boolean deleteUser(String usName);
	
	/**
	 * 根据主键删除用户信息
	 * @param usId
	 * @return
	 */
	public boolean deleteUser(Integer usId);
	
	/**
	 * 修改用户信息
	 * @param userTemp
	 * @return
	 */
	public boolean modifyUser(UserTemp userTemp);
	
	/**
	 * 保存用户信息
	 * @param userTemp
	 * @return
	 */
	public boolean saveUser(UserTemp userTemp);
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值