拿出来大家共勉,不足之处请指正。
很久之前的学习笔记了,一直存放在本地中
路径
绝对路径
在jsp页面中获得绝对路径,一下两者等同
${pageContext.request.contextPath}
<%=request.getContextPath()%>
项目中的跳转页面大多数这样写:${pageContext.request.contextPath}/a.jsp
关于${pageContext.request.contextPath}的理解 (转载)
路径中 servlet 与strusts比较
配置
如果没有这个,那么在xml中再配置是一样的
<servlet>
<servlet-name>userLogin</servlet-name>
<servlet-class>com.web.LoginServlet</servlet-class>
<!-- 要访问的servlet的 qulified name -->
</servlet>
<servlet-mapping>
<servlet-name>userLogin</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
实现用户登录功能
- loginservlet中调用
**User user = new User();**
try {
BeanUtils.populate(user, request.getParameterMap());
} catch (IllegalAccessException | InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
**UserService userservice = new UserService();**
boolean success = false;
try {
success = userservice.findUser(user);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//传递数据,判断数据库中是都含有user
if(success)
{
//查询到账户,重定向到index.html
response.sendRedirect(request.getContextPath()+"/index.html");
}
else
{
request.setAttribute("error", "用户名或密码错误!!");
//没有查询到账户.转发到login.jsp
request.getRequestDispatcher("/login.jsp").forward(request, response);
}
- userService里创建方法
public class UserService {
public boolean findUser(User user) throws SQLException {
UserDao userDao = new UserDao();
User temp = userDao.findUser(user);
return temp==null?false:true;
}
}
- xml文件里配置数据库
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///strusts</property>
<property name="user">root2323</property>
<property name="password">1111111</property>
- UserDao里面创建"查找"方法
public class UserDao {
public User findUser(User user) throws SQLException {
QueryRunner runner = new QueryRunner(C3p0DataSourceUtils.getDataSource());
String sql = "select * from user where username = ?and password = ?";
return runner.query(sql, new BeanHandler<User>(User.class),user.getUsername(),user.getPassword());
}
数据库查询语句