首页 >web前端 >html教程 >jsp+servlet问题100分 你能都拿走么_html/css_WEB-ITnose

jsp+servlet问题100分 你能都拿走么_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:54:341084浏览

求jsp写的修改个人信息的代码!数据库是access。




String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
UserinfoBean userinfo=(UserinfoBean)session.getAttribute("userinfors");
%>
UserinfoBean userinfoBean = (UserinfoBean)request.getSession().getAttribute("userinfoBean");
 %>

nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">


<script> <br /> function IsDigit(cCheck) <br /> { <br /> return (('0'<=cCheck) && (cCheck<='9')); <br /> } <br /> <br /> function IsAlpha(cCheck) <br /> { <br /> return ((('a'<=cCheck) && (cCheck<='z')) || (('A'<=cCheck) && (cCheck<='Z'))) <br /> } <br /> <br /> function IsValid() <br /> { <br /> var struserName = reg.UserName.value; <br /> for (nIndex=0; nIndex<struserName.length; nIndex++) <br /> { <br /> cCheck = struserName.charAt(nIndex); <br /> if (!(IsDigit(cCheck) || IsAlpha(cCheck))) <br /> { <br /> return false; <br /> } <br /> } <br /> return true; <br /> } <br /> function chkEmail(str) <br /> { <br /> return str.search(/[\w\-]{1,}@[\w\-]{1,}\.[\w\-]{1,}/)==0?true:false ; <br /> } <br /> <br /> function docheck() <br /> { <br /> if(reg.NickName.value =="") <br /> { <br /> alert("昵称不能为空"); <br /> return false; <br /> } <br /> else if(reg.Email.value =="") <br /> { <br /> alert("邮箱不能为空"); <br /> return false; <br /> } <br /> else if(!chkEmail(reg.Email.value)) <br /> { <br /> alert("请填写有效的Email地址"); <br /> return false; <br /> } <br /> else <br /> { <br /> return true; <br /> } <br /> } <br /> </script>



/image/content.jpg">

         

尊敬的请修改个人资料



action="/servlet/lybControServlet"
method="post" onSubmit="docheck()">

















face="Arial, Helvetica, sans-serif">用户名: name="UserName" readonly value="">  value="edituser"> 
 
请修改昵称: name="NickName">
请修改性别: name="Sex" value="0" checked>男  name="Sex" value="1">女
请修改Email地址: name="Email">


  name="res" value="重填">



返回






这是前台的代码,后台方法怎么写?


回复讨论(解决方案)

我的问题 难还是?

public void changeUserInfo(HttpServletRequest req, HttpServletResponse res)  throws IOException, SQLException{
int user_id = Integer.parseInt(req.getParameter("user_id"));

     
     UserinfoBean userinfoBean = new UserinfoBean();
     userinfoBean.setUser_name("");
     userinfoBean.setUser_nicheng("");
     userinfoBean.setUser_sex("");
     userinfoBean.setUser_mail("");
     userinfoBean.setUser_id(user_id);
    HttpSession session =  req.getSession() ; 
    session.setAttribute("userinfoBean", userinfoBean); 
    res.sendRedirect(req.getContextPath()+"/jsp/mofy.jsp");
}
这个方法我已经能调用了  但是没有写,不会  菜鸟,求大神高数我怎么写

在docheck()方法内实现写入数据库就可以。你看看用struts框架怎么搞吧

求更改代码码,struts框架没用过

给你写了一个简单的,

首先真的很简单,是W7+mysql5.5+servlet

mysql的sql语句:

create database person;use personcreate table student(    id int not null auto_increment,    username varchar(100),    name varchar(50),    sex varchar(10),    email varchar(50),   primary key(id));-- 插入一条测试数据insert into student(username,name,sex,email)values('test123','fdsaas','1','fdsafkldjsklfds@qq.com');


------------------

下面是Java部分:

DB类[时间仓促,可改进地方很多,自己慢慢练吧]

package test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Statement;/** * Created by prd on 2014/11/6. */public class DB {    private Connection conn = null;    /**     * 获取连接     *     * @return     * @throws java.sql.SQLException     */    public Connection getConn() {        try {            Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/person", "root", "123456");            return conn;        } catch (Exception e) {            e.printStackTrace();        }        return conn;    }    /**     * 关闭连接     *     * @throws SQLException     */    public void closeConn() {        try {            if (conn != null && conn.isClosed()) {                conn.close();            }        } catch (SQLException e) {            e.printStackTrace();        }    }    /**     * 更新数据.     * <p/>     * 数组分别是:username,name,sex,email,     * id为固定.可动态修改.     *     * @param params     * @return     */    public int update(String[] params) {        conn = getConn();        String sql = " update student set username='" + params[0] + "',name='" + params[1] + "',sex='" + params[2] + "',email='" + params[3] + "'  where id=1 ";        Statement st = null;        int count = 0;        try {            st = conn.createStatement();            count = st.executeUpdate(sql);        } catch (SQLException e) {            e.printStackTrace();        }        closeConn();        return count;    }}


下面是servlet类:

package test;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;/** * Created by prd on 2014/11/6. */public class UpdateUserServlet extends HttpServlet {    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        String name = request.getParameter("name");        String username = request.getParameter("username");        String sex = request.getParameter("sex");        String email = request.getParameter("email");        if(sex.equals("0"))        {            sex="男";        }else        {            sex="女";        }        DB db = new DB();        int count =db.update(new String[]{username,name,sex,email});        if(count>0)        {            System.out.println("更新成功");        }else        {            System.out.println("更新失败");        }    }    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }}


下面是jsp页面[ 替换你原来的表单部分]:

<form name="reg"          action="<%=request.getContextPath()%>/servlet/UpdateUserServlet"          method="post" onSubmit="docheck()">        <table width="90%" border="0">            <tr>                <td width="50%" align="right" height="25"><font                        face="Arial, Helvetica, sans-serif">用户名:</font></td>                <td width="50%" align="left" height="25"><input type="text"                                                                name="username" value=""> <input type="hidden" name="method"                                                                                                                                  value="edituser"> <br>                </td>            </tr>            <tr>                <td width="50%" align="right" height="25">请修改昵称:</td>                <td width="50%" align="left" height="25"><input type="text"                                                                name="name"></td>            </tr>            <tr>                <td width="50%" align="right" height="25">请修改性别:</td>                <td width="50%" align="left" height="25"><input type="radio"h                                                                name="sex" value="0" checked>男 <input type="radio"                                                                                                      name="sex" value="1">女</td>            </tr>            <tr>                <td width="50%" align="right" height="25">请修改Email地址:</td>                <td width="50%" align="left" height="25"><input type="text"                                                                name="email"></td>            </tr>        </table>        <p>            <input type="submit" name="sub" value="更改"> <input type="reset"                                                               name="res" value="重填">        </p>        <p>            <a href="index.jsp">返回</a>        </p>    </form>


下面是web.xml的配置:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"         version="3.1">    <servlet>        <servlet-name>UpdateUserServlet</servlet-name>        <servlet-class>test.UpdateUserServlet</servlet-class>    </servlet>    <servlet-mapping>        <servlet-name>UpdateUserServlet</servlet-name>        <url-pattern>/servlet/UpdateUserServlet</url-pattern>    </servlet-mapping></web-app>


记得一定要导入mysql的驱动包,直接百度搜索java连接mysql驱动包就可以,加入到项目里面。

如果你要用access,改掉这两句就可以了.

 Class.forName("com.mysql.jdbc.Driver");// 加载Access数据的驱动            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/person", "root", "123456");//连接地址

sql code这个放到那里,表已经有了,叫userinfo,而且那个db  最下面的更新数据我怎么加到我的db里面啊

大神,完全跟你写的不一样,我已经打私信给你了,你打开加我qq远成协助一下你就知道怎么回事了

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn