JSP与Servlet实现用户注册
来源:互联网 发布:无锡市行知技工学校 编辑:程序博客网 时间:2024/05/22 12:12
JSP最令我痴迷的地方在于其神奇的Servlet映射,映射一直是现在网站开发,MVC ,SSH框架都必备的最重要的基础技能。
我们今天就用用户注册的实例来讲解Servlet的用法
下面是我提前建好的数据库:
首先我们新建一个Dynamic Web Project(动态网页)
我们在src文件下新建一个包,并创建一个servlet:RegServlet
一个新的servlet具有以下的基础代码:
首先我们在RegServlrt类中重写init()方法和doPost()方法。在基础代码中是没有给出init()方法的,需要我们自己去写。
首先看看我们引用的jar包
import java.io.IOException;import java.io.PrintWriter;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;
首先在init()方法中获取数据库连接。
//数据库连接Connection private Connection conn; public void init()throws ServletException{ super.init(); try{ //加载驱动 Class.forName("com.mysql.jdbc.Driver"); //设置url String url="jdbc:mysql://localhost:3306/MyBlog"; //获取连接 conn =DriverManager.getConnection(url, "root", ""); }catch(Exception e) { e.printStackTrace(); } }
其中驱动的jar包是需要自己下载的,我这里引用的是mysql.jar:
运行时可能提示一些小问题,tomcat找不到该驱动,解决办法就是将jar包复制粘贴到tomcat的lib中,就没事了。
接下来就是填充doPost代码:
//设置编码格式 response.setContentType("text/html"); request.setCharacterEncoding("GBK"); response.setCharacterEncoding("GBK"); //获取表单中的属性值 String username=request.getParameter("username"); String password=request.getParameter("password"); String sex=request.getParameter("sex"); String question=request.getParameter("question"); String answer=request.getParameter("answer"); String email=request.getParameter("email"); if(conn!=null){ try{ //插入注册信息的SQL语句(使用?占位符) String sql="insert into tb_user(username,password,sex,question,answer,email)"+"values(?,?,?,?,?,?)"; //这里会有两类,一类是com.mysql.jdbc,一类是java.sql,没有本质区别,java.sql兼容性会更强。 PreparedStatement ps=conn.prepareStatement(sql); ps.setString(1, username); ps.setString(2, password); ps.setString(3, sex); ps.setString(4, question); ps.setString(5, answer); ps.setString(6, email); ps.executeUpdate(); //获取PrintWriter对象。 PrintWriter out=response.getWriter(); out.print("<h1 aling='center'>"); out.print(username+"注册成功!"); out.print("</h1>"); out.flush(); out.close(); }catch(Exception e) { e.printStackTrace(); } } else { response.sendError(500,"数据库连接错误!"); } }
接下里就是我们index.jsp页面的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <form action ="RegServlet" method="Post" onsubmit="return reg(this);"> <table align="center" border="0", width="500"> <tr> <td align ="right" width ="30%">用户名:</td> <td><input type ="text" name ="username" class="box"></td> </tr> <tr> <td align ="right" width ="30%">密码:</td> <td><input type ="text" name ="password" class="box"></td> </tr> <tr> <td align ="right" width ="30%">性别:</td> <td><input type ="radio" name ="sex" value="男" checked="checked">男 <input type ="radio" name ="sex" value="女" >女</td> </tr> <tr> <td align ="right" width ="30%">密码找回问题:</td> <td><input type ="text" name ="question" class="box"></td> </tr> <tr> <td align ="right" width ="30%">密码找回答案:</td> <td><input type ="text" name ="answer" class="box"></td> </tr> <tr> <td align ="right" width ="30%">邮箱:</td> <td><input type ="text" name ="email" class="box"></td> </tr> <tr> <td colspan="2" align="center" height="40"> <input type ="submit" value="注册"> <input type ="reset" value="重置"> </td> </tr> </body></html>
最重要的步骤,也是今天的重点:配置servlet
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/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>MyBlog</display-name> <servlet> <servlet-name>RegServlet</servlet-name> <servlet-class>servlet.RegServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>RegServlet</servlet-name> <url-pattern>/RegServlet</url-pattern> </servlet-mapping></web-app>
我们运行index.jsp
这里出现了乱码问题,是为什么呢,明明设置的字符集都是统一的。因为通过servlet处理form表单就会出现这样的情况。解决办法是加个过滤器。我后面会讲到。
1 0
- JSP与Servlet实现用户注册
- Servlet +JSP+Javabean 实现用户登录注册
- Servlet学习笔记--jsp+Servlet+MySQL实现用户注册
- Servlet实现用户注册
- JSP+Servlet实现简单的用户登录注册
- JSP MVC实现用户注册
- 用纯jsp实现用户的登录、注册与退出
- 在jsp中用bean和servlet联合实现用户注册、登录
- 在jsp中用bean和servlet联合实现用户注册、登录
- 在jsp中用bean和servlet联合实现用户注册、登录
- 在jsp中用bean和servlet联合实现用户注册、登录
- JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能
- 方立勋_30天掌握JavaWeb_(Servlet+JSP+JavaBean实现)用户注册和登陆
- JSP+Servlet实现注册登录功能
- jsp+Servlet+javaBean实现登录和注册
- JSP+Servlet实现注册登录功能
- Servlet 实现登录与注册
- 用户注册功能用Servlet实现
- 《sip揭秘》格式详解
- makefile变量使用
- poj 3469 Dual Core CPU(最小费用最大流)
- 结构体指针---恶补之六
- 静态变量和静态函数
- JSP与Servlet实现用户注册
- ORA-04031案例一则(非常详细的解释)
- 如何在 VS IDE 中统计代码行数?
- 浮点数的加减计算总结
- Netty4学习笔记-- NioEventLoopGroup NioEventLoop
- 从hdfs读取文件存到hbase
- gdb 调试命令
- 好书收藏
- Java 的Integer、int与new Integer到底怎么回事?