Servlet 注册01

来源:互联网 发布:网络的英文翻译 编辑:程序博客网 时间:2024/06/05 15:19

1.今天我用汉文写了个servet 的初步认识,以后还会用英文发表文章。

//第一步

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>用户注册</title></head><body><!-- 提示 : 这里的form, action = "RegisterServlet" 是根据web.xml里面的 servlet-name来填写, 推荐直接赋值避免发生不必要的错误 --><form action="RegisterServlet" method = "post"><table align="center" width="450" border="1px"> <tr> <td align="center">用户名</td> <td> <input type="text" name = "username"> </td> </tr>   <tr>    <td align="center">密 码:</td>     <td>    <input type="password" name="password">    </td> </tr> <tr>    <td align="center">确认密码:</td>    <td>    <input type="password" name="repassword">    </td> </tr> <tr>    <td align="center">性 别:</td>     <td>    <input type="radio" name="sex" value="male" checked="checked">male         <input type="radio" name="sex" value="female">female        </td>     </tr>     <tr>     <td align="center">年龄</td>     <td>     <input type="text" name = "age">     </td>     </tr>     <tr>     <td align="center">家乡</td>     <td>     <input type = "text" name ="address">     </td>     </tr>           <tr>    <td colspan="2" align="center">    <input type="submit" value="注 册">      <input type="reset" value="重 置">    </td>    </tr> </table></form></body></html>


//第二步 控制层

package servlet;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.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * 作者 : Iparhan * 时间 : 2016-6 * 地点 : 北京中关村科源小区宿舍 * 系统 : linux (ubuntu 15.10) * 社和人群 : 学完基础,servlet ,jsp,jdbc,数据库,html,css,js 和 准备学习框架的人群。 *  * 项目功能点 :注册和跳转页面 * 项目开发步骤 : 按照生活上的逻辑思维开发就行 * 1.先建一个数据库和数据表。 * 2.写显示页面register.html(这里的显示页面可以任何一种, .html,.jsp,或者是IndexServlet.java)然后填数据。 * 3.写控制功能(RegisterServlet.java) * 4.判断是否注册成功,如果成功就跳转到message.jsp 页面把返回的信息显示给客户端。 *  * 提示 : 严格按照上面的步骤来开发不会出错误。一切顺利。 *  * *//* * Servlet开发步骤: * 等我们在显示页面输入注册信息之后,执行命令通过<form action = "RegisterServlet"method ="post"> 会找到这里来, * 然后RegisterServlet 接到命令之后就开始做准备工作 * 1.准备好编码问题 * 2.接受显示页面(register.jsp 或者register.html)发来的参数和数据,  * 3.连接数据库 * 4.然后给每一个参数就进行赋值 * 5.进行executeUpdate()更新和保存数据到数据库(这一步很重要)。 * 6.判断 如果成功就转到 message页面。 *  完成! */public class RegisterServlet extends HttpServlet {private static final long serialVersionUID = 1L;/* * (non-Javadoc) * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, *  javax.servlet.http.HttpServletResponse) *  需要注意的几点 : *  1.这里(doGet,doPost) 两种方法处理整个项目请求和响应。 *  这里我们可以使用doPost() 因为相对比doGet安全和好理解(个人观念),一个servlet 里面可以两个都可以使用, 也可以只使用一个。 */protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//第一步 处理乱码问题//提示 : 如果下面的两个方法同时使用会效果更好。response.setCharacterEncoding("utf-8"); //保证浏览器页面的编码问题response.setContentType("text/html;charset = utf-8"); //  解析之后的字符编码//第二步 接受显示页面的注册参数String id = request.getParameter("id");String username = request.getParameter("username");String password  = request.getParameter("password");String sex  = request.getParameter("sex");String age  = request.getParameter("age");String address = request.getParameter("address");//第三步 连接数据库//提示 : 数据库连接很容易发生错误,所以一开始就是准备处理工作。try{Class.forName("com.mysql.jdbc.Driver");Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/servlet","root","root");if(connection != null){System.err.println("数据库连接成功");}else{System.out.println("数据库连接失败");}//第四步 :给参数进行赋值 往数据库添加数据PrintWriter out = response.getWriter(); // 整个项目里面扮演着 把数据输出到浏览器的角色。PreparedStatement preparedStatement = connection.prepareStatement("insert into user values(?,?,?,?,?,?)");preparedStatement.setString(1, id);preparedStatement.setString(2, username);preparedStatement.setString(3, password);preparedStatement.setString(4, sex);preparedStatement.setString(5, age);preparedStatement.setString(6, address);//第五步 :保存数据  提示 : 这里才是关键int i = preparedStatement.executeUpdate();//第六步 判断是否注册成功 如果成功就信息跳转到message 页面if(i >0){//下面的意思是 把最初客户端给servlet 发送的数据跳转到另一个页面去响应再返回给客户端//通俗点的讲  就像领导给我了一个任务 但是我很忙或者别的原因就把任务转给第三个人。request.getRequestDispatcher("message.jsp").forward(request, response);}}catch(Exception e){e.printStackTrace();}}}

//第三步 跳转页面

<%@ 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>接受服务器信息</title></head><body><%request.setCharacterEncoding("UTF-8");String username = request.getParameter("username");//String password = request.getParameter("password");String sex  = request.getParameter("sex");String age = request.getParameter("age");String address = request.getParameter("address");%><%=username %><%=sex %>><%=age %>><%=address %>></body></html>

//最后

<?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_2_5.xsd" id="WebApp_ID" version="2.5">  <display-name>register04</display-name>  <welcome-file-list>    <welcome-file>index.html</welcome-file>  </welcome-file-list>  <servlet>    <description></description>    <display-name>RegisterServlet</display-name>    <servlet-name>RegisterServlet</servlet-name>    <servlet-class>servlet.RegisterServlet</servlet-class>  </servlet>  <servlet-mapping>    <servlet-name>RegisterServlet</servlet-name>    <url-pattern>/RegisterServlet</url-pattern>  </servlet-mapping></web-app>

终稿 : 本人用半天总结了这么一段小总结, 如果能对初学者有帮助我很乐意,高手尽情指点!

提示: 别忘; mysql-connector-java-5.1.26-bin.jar

1 0