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);
}