演示
非常粗糙的页面,但是逻辑结构与我们平时浏览的网页是一致的;
登录页面

登陆成功则跳转到:

否则到:

知识点总结
- 工具: IDEA
- 知识: Tomcat+Servlet+JDBC+Maven
- 案例目录

案例下载
https://download.csdn.net/download/alpha_xia/12698999
案例分析

分析调优
问题1:User查询不到

问题2:JdbcTemplate对象
User user1 = template.queryForObject(sql,
new BeanPropertyRowMapper<User>(User.class),
user.getUsername(), user.getPassword());
queryForObject(sql,RowMapper<>,index)
- queryForObject()方法的作用是从数据库中读取数据到实体对象,这个过程要保证数据查询出的列与实体类属性一一对应;
- 读取单个对象
RowMapper<User> rowMapper=new BeanPropertyRowMapper<User>(User.class);
User user= jdbcTemplate.queryForObject(sql, rowMapper,52);
- 读取多个对象
RowMapper<User> rowMapper=new BeanPropertyRowMapper<User>(User.class);
List<User> users= jdbcTemplate.query(sql, rowMapper);
问题3:Form表单的提交路径
“虚拟目录+serlvet路径”
问题4:WebServlet(““);
在3.0版本以上的servlet-api中,可以使用WebServlet("usrPattern="/Myservlet" ")来直接定义servlet访问路径,当注解中只有一个参数时,WebServlet("/Myservlet ")形式也可以。但是一定要注意以下几点:
- ”/MyServlet”一定要有 /,不然会报错;
- 访问路径不能重复;
问题5:getParameter()&getAttribute()
1.getParameter
- getParameter(String name)是用来获取请求(request)参数的;
- name是指http提交的数据名;
- 没有setParameter与之对应;
- 返回值是一个字符串;
2.getAttribute()
- getAttribute()是从request范围内获取对象,有setAttribute()方法与之对应;
- 返回值是一个对象;
问题6:request与response设置编码格式
1.request
**设置编码格式**使用request.setCharacterEncoding();
request.setCharacterEncoding()
是设置从request中取得的值或从数据库中取出的值
2.response
response.setContentType("text/html;charset=utf-8");
因为response是响应消息到页面;
text/html;设置动态文字;
charset=utf-8设置静态文字;
问题6:BeanUtils
- 是apache的BeanUtils包;
- 用于封装对象;
- 在需要封装的数据过多时非常好用;
User user2=new User();
Map<String, String[]> map = request.getParameterMap();
try {
BeanUtils.populate(user2,map);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
总结
慢一点,才会更快。
本文通过一个具体的案例,深入讲解了使用Tomcat、Servlet、JDBC和Maven进行Web开发的过程,包括页面逻辑结构、登录功能实现、数据库操作、表单提交路径设置等关键环节,并对常见问题进行了分析与解决。
956

被折叠的 条评论
为什么被折叠?



