jsp登录页面---将连接数据库及其方法封装(二)

时间:2022-11-28 21:54:15

建立java文件,class的就好,文件名为usermessage,加入下面代码:

 

<span style="font-size:18px;">package action.value;    


public class usermessage {
private String username;
private String userpwd;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpwd() {
return userpwd;
}
public void setUserpwd(String userpwd) {
this.userpwd = userpwd;
}


}</span>

建立java文件,名为ConnectionFactory,加入下面代码:

(这个而是连接数据库的代码,health为数据库的名字)

package action.connection;

import java.sql.Connection;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

public class ConnectionFactory {
public static Connection getConnection() throws Exception{
Context ctx=new InitialContext();
DataSource ds=(DataSource)ctx.lookup("java:comp/env/health");
return ds.getConnection();
}
}
conn.java文件,代码如下:

(这段代码应该都明白吧,manager是表名,下面是在数据库中查询的一些语句,几乎每种语言的格式都差不多)

package action.conn;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import action.connection.ConnectionFactory;
import action.value.usermessage;
public class conn implements ad {

public usermessage userm(String user_id) throws Exception {
usermessage ms=null;
String sql="select * from manager where user_id=?";
Connection cn=null;
try{
cn=ConnectionFactory.getConnection();
PreparedStatement ps=cn.prepareStatement(sql);
ps.setString(1,user_id);
ResultSet rs=ps.executeQuery();
while(rs.next())
{ ms=new usermessage();
ms.setUserpwd(rs.getString("password"));
}
rs.close();
ps.close();
}catch(Exception e){System.out.print(e.getMessage());}
cn.close();
return ms;
}
}

ad.java,代码如下:

(这是一个接口,关于接口我个人还不好解释,会在今后进行解释),注意这个文件和上面conn.java 之间的关系。

package action.conn;

import action.value.usermessage;

public interface ad {
public usermessage userm(String user_id) throws Exception ;
}

BusinessF.java

package action.conn;


public class BusinessF {
public static ad createProductBusiness()
{
return new conn();
}

}
test.java

package action;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import action.conn.BusinessF;
import action.conn.ad;


/**
* Servlet implementation class ssss
*/
@WebServlet("/login.do")
public class test extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public test() {
super();
// TODO Auto-generated constructor stub
}

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
ad ms=BusinessF.createProductBusiness();
HttpSession session = request.getSession();
String username=request.getParameter("username");
String userpwd=request.getParameter("userpwd");

try {

String pwd=ms.userm(username).getUserpwd();

if(userpwd.equals(pwd))
{
System.out.println("2225525");
session.setAttribute("username",username);
response.sendRedirect("/b/success.jsp");
}
else
response.sendRedirect("/b/fail.jsp");

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}



/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}

}

至此,出了fa.java 和su.java,所有的java文件都已完成,fa与su与我上一篇中的文件内容相同,这里还缺少jsp页面,三个jsp页面也与我上一篇中的jsp页面相同,上一篇《jsp登录页面(一)》,当然,在这里也不要忘了配置web.xml文件哦!!没有说的在上一篇中均有提到