javaServlet+tomcat+mysql简单登陆注册web测试环境搭建
2016-04-04 11:23
726 查看
配置Eclipse的web运行服务器
window–>preference–>server–>runtime enviroment–>add 然后选择自己本机的tomcat。前提是本地要下载有tomcat
eclipse创建Dynamic web project
输入我的工程名LoginServlet,然后next 记得选上创建web.xml 也可以后面再创建。
在webcontent下面新建一个index.html
就是两个form一个登陆,一个用户注册。对应两个servlet
在javaResource目录下创建对应的LoginServlet和RegisterServlet
LoginServlet代码如下,其中调用了UserRegister类里面的LonginCheck()方法,对页面输入的用户名和密码进行验证
RegisterServlet的代码如下
其中调用了UserRegister类里面的regist()方法进行注册。其实就是往数据库里面插入一条数据
然后就是操作数据库的类,也是直接创建在SRC下面就OK了,主要是连接数据库,进行注册和密码校验操作。这里用到了UserBean类。里面提供了一个测试的main方法,可进行测试连接数据库操作是否正确
userbean类的代码如下
最后是web-inf下面的web.xml配置了
在工程名上右键,run as –>run on server
运行结果:
注册:test1 密码:test11
登陆验证一下:
数据库验证userinfo里面插入了一条数据:
这样一个简单的登陆和注册的javaServle+tomcat+mysql的测试环境就搭建好了
备注:
搭建过程中遇到的一些问题:
1 没有将mysql-connector-java.jar拷贝到tomcat的lib下面导致连接数据库失败
搭建环境如果有用到第三方jar包,记得将对应的jar包拷贝到tomcat的lib下面
2 开始提示注册的servlet找不到,是因为没有在web.xml里面配置对应的servlet,页面与servlet的交互都应该在web.xml里面进行配置
3 连接不上mysql原因是mysql的root用户登录限定在了linux上,需要改成任意主机。具体实现可以百度一下
window–>preference–>server–>runtime enviroment–>add 然后选择自己本机的tomcat。前提是本地要下载有tomcat
eclipse创建Dynamic web project
输入我的工程名LoginServlet,然后next 记得选上创建web.xml 也可以后面再创建。
在webcontent下面新建一个index.html
就是两个form一个登陆,一个用户注册。对应两个servlet
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>登录</title> </head> <body> <form action="http://localhost:8080/LoginServlet/LoginServlet" method="post"> 用户:<input type="text" name="username" /><br/> 密码:<input type="password" name="password" /><br/> <input type="submit" value="登录" /> </form> <form action="http://localhost:8080/LoginServlet/RegisterServlet" method="post"> 用户:<input type="text" name="username" /><br/> 密码:<input type="password" name="password" /><br/> <input type="submit" value="注册" /> </form> </body> </html>
在javaResource目录下创建对应的LoginServlet和RegisterServlet
LoginServlet代码如下,其中调用了UserRegister类里面的LonginCheck()方法,对页面输入的用户名和密码进行验证
//引入所需要的包 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class LoginServlet extends HttpServlet { //重写doGet方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); UserRegister ur = new UserRegister(); boolean b = ur.LonginCheck(username, password); System.out.println(b); //服务器端打印信息 response.setContentType("text/html;charset=GB18030"); //返回html页面 response.getWriter().println("<html>"); response.getWriter().println("<head>"); response.getWriter().println("<title>登录信息</title>"); response.getWriter().println("</head>"); response.getWriter().println("<body>"); if(b){ response.getWriter().println("欢迎【" + username + "】用户登录成功!!!"); }else { response.getWriter().println("登陆失败"); } response.getWriter().println("</body>"); response.getWriter().println("</html>"); System.out.println("yeee"); } //重写doPost方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
RegisterServlet的代码如下
其中调用了UserRegister类里面的regist()方法进行注册。其实就是往数据库里面插入一条数据
//引入所需要的包 import java.io.*; import javax.servlet.*; import javax 4000 .servlet.http.*; public class RegisterServlet extends HttpServlet { //重写doGet方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username = request.getParameter("username"); String password = request.getParameter("password"); UserRegister tb = new UserRegister(); // TestConnDb tb = new TestConnDb(); UserBean ub =new UserBean(); ub.setUserId(username); ub.setPassword(password); tb.setUserBean(ub); try { tb.regist(); //服务器端打印信息 //System.out.println("username=" + username); //System.out.println("password=" + password); //设置编码格式 response.setContentType("text/html;charset=GB18030"); //返回html页面 response.getWriter().println("<html>"); response.getWriter().println("<head>"); response.getWriter().println("<title>登录信息</title>"); response.getWriter().println("</head>"); response.getWriter().println("<body>"); response.getWriter().println(username + "注册成功"); response.getWriter().println("</body>"); response.getWriter().println("</html>"); System.out.println("yeee"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } //重写doPost方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
然后就是操作数据库的类,也是直接创建在SRC下面就OK了,主要是连接数据库,进行注册和密码校验操作。这里用到了UserBean类。里面提供了一个测试的main方法,可进行测试连接数据库操作是否正确
import com.mysql.jdbc.Driver; import java.sql.*; public class UserRegister { private UserBean userBean; private Connection con; //获得数据库连接。 public UserRegister() { String url="jdbc:mysql://192.168.1.107/"+"test"+"?user="+"root"+"&password="+"test"; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); con = DriverManager.getConnection(url); } catch(Exception e) { e.printStackTrace(); } } //设置待注册的用户信息。 public void setUserBean(UserBean userBean) { this.userBean=userBean; } //进行注册 public void regist() throws Exception { String reg="insert into userinfo(userid,password) values(?,?)"; try { PreparedStatement pstmt=con.prepareStatement(reg); pstmt.setString(1,userBean.getUserId()); pstmt.setString(2,userBean.getPassword()); pstmt.executeUpdate(); } catch(Exception e) { e.printStackTrace(); throw e; } } //登陆校验 public boolean LonginCheck(String username,String password){ try { Statement stmt=con.createStatement(); String sql="select * from userinfo where userid='"+username+"';"; ResultSet rs=stmt.executeQuery(sql); if(rs.next()) { String passwordR=new String(rs.getString("password")); // System.out.println(passwordR); if(passwordR.equals(password)){ System.out.println(passwordR); return true; }else{ return false; } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return false; } //测试 // public static void main(String[] args) { // UserRegister ur = new UserRegister(); //// UserBean ub = new UserBean(); //// ub.setUserId("te"); //// ub.setPassword("te1"); //// ur.setUserBean(ub); //// try { //// ur.regist(); //// } catch (Exception e) { //// // TODO Auto-generated catch block //// e.printStackTrace(); //// } // System.out.println(ur.LonginCheck("te", "te1")); //// System.out.println(ur.LonginCheck("u1", "pwd1")); // // // } }
userbean类的代码如下
public class UserBean { private String userid; private String password; public void setUserId(String userid) { this.userid=userid; } public void setPassword(String password) { this.password=password; } public String getUserId() { return this.userid; } public String getPassword() { return this.password; } }
最后是web-inf下面的web.xml配置了
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/LoginServlet</url-pattern> </servlet-mapping> <servlet> <servlet-name>MyServlet1</servlet-name> <servlet-class>RegisterServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet1</servlet-name> <url-pattern>/RegisterServlet</url-pattern> </servlet-mapping> </web-app>
在工程名上右键,run as –>run on server
运行结果:
注册:test1 密码:test11
登陆验证一下:
数据库验证userinfo里面插入了一条数据:
这样一个简单的登陆和注册的javaServle+tomcat+mysql的测试环境就搭建好了
备注:
搭建过程中遇到的一些问题:
1 没有将mysql-connector-java.jar拷贝到tomcat的lib下面导致连接数据库失败
搭建环境如果有用到第三方jar包,记得将对应的jar包拷贝到tomcat的lib下面
2 开始提示注册的servlet找不到,是因为没有在web.xml里面配置对应的servlet,页面与servlet的交互都应该在web.xml里面进行配置
3 连接不上mysql原因是mysql的root用户登录限定在了linux上,需要改成任意主机。具体实现可以百度一下
相关文章推荐
- MySQL中的integer 数据类型
- java-模拟tomcat服务器
- MySQL存储过程
- 小心服务器内存居高不下的元凶--WebAPI服务
- i-jetty环境搭配与编译
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- 运维入门
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- Linux部署Tomcat服务器
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~