jsp+servlet问题100分 你能都拿走么_html/css_WEB-ITnose
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");
%>
尊敬的请修改个人资料
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(); } } /** * 更新数据. * * 数组分别是: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页面[ 替换你原来的表单部分]:
下面是web.xml的配置:
UpdateUserServlet test.UpdateUserServlet UpdateUserServlet /servlet/UpdateUserServlet
记得一定要导入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远成协助一下你就知道怎么回事了