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

来源:互联网 发布:淘宝几百块发省级期刊 编辑:程序博客网 时间:2024/06/06 00:53

建立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");}elseresponse.sendRedirect("/b/fail.jsp");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoGet(request, response);}}

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

0 0