简易的CRM系统案例之Servlet+Jsp+MySQL版本改进


Servlet优化为Struts2 学习

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app> <!-- 引入struts核心过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <error-page>
<error-code>404</error-code>
<location>/notFoundError.jsp</location>
</error-page> </web-app>

src下struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="crm" extends="struts-default"> <action name="addPolicy" class="com.loaderman.crm.action.AddPolicyAciton" method="execute">
<result name="getPolicyList" type="redirectAction">getPolicyList</result>
<result name="addPolicy">/pages/addPolicy.jsp</result>
</action>
<action name="addUser" class="com.loaderman.crm.action.AddUserAction" method="execute">
<result name="getUserList" type="redirectAction">getUserList</result>
<result name="addUser">/pages/addUser.jsp</result>
</action> <action name="delPolicy" class="com.loaderman.crm.action.DelPolicyAciton" method="execute">
<result name="success" type="redirectAction">getPolicyList</result>
</action>
<action name="delUser" class="com.loaderman.crm.action.DelUserAciton" method="execute">
<result name="success" type="redirectAction">getUserList</result>
</action>
<action name="getPolicyList" class="com.loaderman.crm.action.GetPolicyListAciton" method="execute">
<result name="success">/pages/policyList.jsp</result>
</action>
<action name="getUserList" class="com.loaderman.crm.action.GetUserListAction" method="execute">
<result name="success" type="redirect">/pages/userList.jsp</result>
</action>
<action name="doLogin" class="com.loaderman.crm.action.DoLoginAciton" method="execute">
<result name="success" type="redirectAction">getUserList</result>
<result name="login" >/login.jsp</result>
</action> </package> </struts>
package com.loaderman.crm.action;

import com.loaderman.crm.entity.User;
import com.loaderman.crm.service.UserService;
import com.loaderman.crm.service.impl.UserServiceimp;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext; import javax.servlet.http.HttpServletRequest;
import java.util.List; public class GetUserListAction extends ActionSupport { // 处理请求
public String execute() throws Exception {
HttpServletRequest request1 = ServletActionContext.getRequest();
String name = request1.getParameter("name");
System.out.println("GetUserListAction name" + name);
if ( name != null && (! name.isEmpty())) {
// name =new String(name.getBytes("ISO8859-1"), "UTF-8");
UserService stuService = new UserServiceimp();
List<User> list = stuService.getUserByName( name);
ActionContext.getContext().getSession().put("list", list);
} else {
UserService stuService = new UserServiceimp();
List<User> list = stuService.getAllUser(); ActionContext.getContext().getSession().put("list", list); }
return "success";
} }
package com.loaderman.crm.action;

import com.loaderman.crm.entity.User;
import com.loaderman.crm.service.UserService;
import com.loaderman.crm.service.impl.UserServiceimp;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import org.apache.struts2.ServletActionContext; import javax.servlet.http.HttpServletRequest; public class AddUserAction extends ActionSupport implements ModelDriven<User> {
private User user = new User(); public String execute() throws Exception {
System.out.println(user.toString());
UserService studentService = new UserServiceimp();
HttpServletRequest request1 = ServletActionContext.getRequest();
String opr = request1.getParameter("opr");
int n = 0;
if (opr.equals("addUser")) {
n = studentService.addUser(user);
} else if (opr.equals("modifyUser")) {
int id = Integer.parseInt(request1.getParameter("id"));
user.setId(id);
n = studentService.modifyUser(user);
}
if (n > 0) {
return "getUserList";
} else {
return "addUser";
}
} @Override
public User getModel() {
return user;
}
}
package com.loaderman.crm.action;

import com.loaderman.crm.entity.User;
import com.loaderman.crm.service.UserService;
import com.loaderman.crm.service.impl.UserServiceimp;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.ServletActionContext; import javax.servlet.http.HttpServletRequest; public class DelUserAciton extends ActionSupport {
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest(); UserService userService = new UserServiceimp();
System.out.println(request.getParameter("id"));
int id = Integer.parseInt(request.getParameter("id"));
User stu = new User();
stu.setId(id); userService.delUser(stu);
return "success"; }
}

点击源码下载


简易的CRM系统案例之Struts2+JSP+MySQL版本的更多相关文章

  1. 简易的CRM系统案例之Servlet+Jsp+MySQL版本

    数据库配置 datebase.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/infos usernam ...

  2. 简易的CRM系统案例之SpringMVC+JSP+MySQL+myBatis框架版本

    主要对上一版DAO框架的替换hibernate变成myBatis 简易的CRM系统案例之SpringMVC+JSP+MySQL+hibernate框架版本 src/mybatis.xml <?x ...

  3. 简易的CRM系统案例之SpringMVC+JSP+MySQL+hibernate框架版本

    继续对上一版本进行改版,变成SpringMVC框架 简易的CRM系统案例之易的CRM系统案例之JSP+MySQL+SSH框架版本 src/spring.xml <?xml version=&qu ...

  4. 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本

    改造上一版本的DAO层 简易的CRM系统案例之Struts2+JSP+MySQL版本 src文件下hibernate.cfg.xml <!DOCTYPE hibernate-configurat ...

  5. 简易的CRM系统案例之Struts2&Spring整合+Hibernate3+JSP+MySQL版本

    主要对上一篇Struts2&Spring整合的改造 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本 src/bean.xml <beans xmlns ...

  6. 简易的CRM系统案例之易的CRM系统案例之JSP+MySQL+SSH框架版本

    主要对上一篇hibernate与Spring进行整合改进 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本 bean-base.xml <?xml versio ...

  7. 简易的CRM系统案例SpringBoot + thymeleaf + MySQL + MyBatis版本

    创建maven项目 pop.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns ...

  8. struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input

    原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1     function dosearch() {2         if ($(&q ...

  9. CRM系统新思维

    客户关系管理系统(CRM系统)是管理公司当前以及未来潜在客户的系统,其主要目的是通过优化客户关系实现公司销售业绩的长期增长,它是企业信息系统的核心之一.目前,移动互联网.大数据以及人工智能技术发展日新 ...

随机推荐

  1. 运维开发笔记整理-QueryDict对象

    运维开发笔记整理-QueryDict对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 客户端发送数据请求有很多种,相信运维人员已经很清楚了,如果不太清楚的话可以参考我之前的学习笔 ...

  2. PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能

    PHP开启目录引索 一. 前言 不知为何对nginx情有独钟, 最近练习php, 为了方便写代码, 便想要开启nginx的目录索引功能, 显然不如Apache开启的方便, 几次尝试都崩了... 我这个 ...

  3. 跨域访问支持(Spring Boot、Nginx、浏览器)

    原文:http://www.itmuch.com/work/cors/ 最近家中事多,好久没有写点啥了.一时间竟然不知从何说起.先说下最近家里发生的事情吧: 老爸肺气肿住院: 老妈甲状腺囊肿 儿子喘息 ...

  4. linux网络编程之posix线程(二)

    继续接着上次的posix线程来学习: 回顾一下创建线程的函数: pthread_att_t属性变量是需要进行初始化才能够用的,一定初始化了属性变量,它就包含了线程的多种属性的值,那到底有哪些属性了,下 ...

  5. P2002 消息扩散[SCC缩点]

    题目描述 有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市发布消息才能让这所有n个城市都得到消息. 输入格式 第一行两个整数n,m表示n个城市, ...

  6. 《SVN的操作流程及规范》

    安装说明: 下载路径:https://tortoisesvn.net/downloads.html 选择对应版本:   安装中文语言包:   右键进入setting设置,选择中文简体.     使用说 ...

  7. socket、端口、进程的关系

    本文属网络编程部分.socket的引入是为了解决不同计算机间进程间通信的问题. 端口是TCP/IP协议中的概念,描述的是TCP协议上的对应的应用,可以理解为基于TCP的系统服务,或者说系统进程!如下图 ...

  8. c++ 智能指针的使用

    https://www.cnblogs.com/TenosDoIt/p/3456704.html #include <QCoreApplication> #include <stri ...

  9. 33、[源码]-AOP原理-获取拦截器链-MethodInterceptor

    33.[源码]-AOP原理-获取拦截器链-MethodInterceptor

  10. WebService操作

    webservice是一种服务器通信技术,封装了socket.