转自http://blog.csdn.net/eventys/article/details/7431553#comments
技术:Servlet+jsp相关知识,(有些代码直接从网上拿的,如有冒犯请通知!多谢!)
源码放在了http://download.csdn.net/detail/eventys/4209979
工具 Myeclise,tomcat,jdk1.6
开始:
Myeclise新建一个Web Project
index.jsp代码:
<form action="servlet/loginServlet" method="post"><!-- 此处action是新建Servlet时 自动在web.xml中生成的可修改 -->
<div>
Name
<input type="text" name="name" />
<br />
Password
<input type="text" name="pas" />
<br />
<input type="submit" value="Login" />
<input type="hidden" value="login" name="typeId" />
</div>
</form>
按照图
建包DBUtile--里面建类 DBConnection.java
内容 :
package DBUtile;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnection {
private static Connection conn;// 数据库连接对象
/**
* 获取MySql数据库连接
*
* @author yu
* @return
*/
public static Connection getMySqlConnection() {
String driverClass = "com.mysql.jdbc.Driver";// 驱动名称
String url = "jdbc:mysql://localhost:3306/test_servlet";// 数据库名simple
String user = "root";// MySQ帐号
String password = "root";// MYSQL密码
try {
Class.forName(driverClass).newInstance();
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* 获取SqlServer数据库连接
*
* @author yu
* @date 2012-4-5 下午04:45:39
* @return
*/
public Connection getSqlServerConnection() {
return conn;
}
/**
* 获取Orcal数据库连接
*
* @author yu
* @date 2012-4-5 下午04:46:19
* @return
*/
public Connection getOrcalConnection() {
return conn;
}
/**
* 关闭连接
*
* @author yu
*/
public void dbClose() {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
建包login--里面建类
1.右键new Servlet 名称 LoginServlet 内容:
package login;
import java.io.IOException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import DBUtile.DBConnection;
import com.mysql.jdbc.Statement;
public class LoginServlet extends HttpServlet {
/**
* Constructor of the object.
*/
public LoginServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");// 设置响应的MIME类型。
java.io.PrintWriter out = response.getWriter();
String type = request.getParameter("typeId");
if (type.trim().equals("login")) {
String name = request.getParameter("name");// 获取视图里的name
String pas = request.getParameter("pas");// 获取视图里的password
Model newModel = new Model();// 调用模型
newModel.setName(name);
newModel.setPas(pas);
String user = "";
String pass = "";
Connection conn = DBConnection.getMySqlConnection();
Statement stmt;
try {
stmt = (Statement) conn.createStatement();
String sql = "SELECT * FROM login";// 表名book
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
user = rs.getString("user");
pass = rs.getString("password");
}
} catch (SQLException e) {
e.printStackTrace();
}
if (newModel.login(user, pass)) {
out.print("<script Lanuage='JavaScript'>window.alert('登录成功!')</script>");
out.print("用户输入:<br>");
out.print("用户名:" + name + "<br>");
out.print("密码:" + pas + "<br>");
out.print("数据库查询:<br>");
out.print("用户名:" + user + "<br>");
out.print("密码:" + pass + "<br>");
} else {
out.print("<script Lanuage='JavaScript'>window.alert('登录失败!')</script>");
out.print("用户输入:<br>");
out.print("用户名:" + name + "<br>");
out.print("密码:" + pas + "<br>");
out.print("数据库查询:<br>");
out.print("用户名:" + user + "<br>");
out.print("密码:" + pass + "<br>");
}
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException {
// Servlet初始化代码
}
}
2.New Class 名称 Model 内容:
package login;
public class Model {
private String name = null;
private String pas = null;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setPas(String pas) {
this.pas = pas;
}
public String getPas() {
return pas;
}
/**
*
* @author yu
* @date 2012-4-5 下午04:05:20
* @return
*/
public boolean login(String user, String pass) {
if ((name.trim().equals(user)) && (pas.trim().equals(pass))) {
return true;
} else {
return false;
}
}
}
web.xml 内容为:
<servlet>
<servlet-name>loginServlet</servlet-name><!-- Servlet名称 -->
<servlet-class>login.LoginServlet</servlet-class><!-- 对应的类 包名.类名 -->
</servlet>
<servlet-mapping>
<servlet-name>loginServlet</servlet-name><!-- 需要访问的Servlet名称 -->
<url-pattern>/servlet/loginServlet</url-pattern><!-- 访问地址 如http://localhost/Servlet_Test/servlet/loginServlet -->
</servlet-mapping>
到此为止编码写好了
开始测试吧
启动tomcat
输入网址:http://localhost/Servlet_Test/index.jsp
关于mysql的安装:请看文档:http://download.csdn.net/detail/eventys/4204821
mysql的连接数据库驱动jar包,自己去官网下载 放入项目lib中就行了
后期将在此基础上添加新功能,例如:过滤器,国际化,分页 等!
在后 会有struts2.x hibernate,spring ext,ajax,jqery 等等技术,一起分享学习